我想批量插入位於遠程Web服務器上的csv文件,但出現以下錯誤。SQL Server批量插入Http文件
無法批量加載,因爲文件「http://34.34.32.34/test.csv」可能不會打開 。操作系統錯誤代碼123(文件名,目錄 名稱或卷標語法不正確。)。
有沒有辦法做到這一點?
我想批量插入位於遠程Web服務器上的csv文件,但出現以下錯誤。SQL Server批量插入Http文件
無法批量加載,因爲文件「http://34.34.32.34/test.csv」可能不會打開 。操作系統錯誤代碼123(文件名,目錄 名稱或卷標語法不正確。)。
有沒有辦法做到這一點?
BULK INSERT
的文檔沒有提及SQL Server能夠連接到Web服務器。
http://msdn.microsoft.com/en-us/library/ms188365.aspx
「DATA_FILE」包含數據 導入到指定表或視圖中的數據文件的完整路徑。 BULK INSERT可以從磁盤(包括網絡,軟盤,硬盤等)導入數據 。
data_file必須指定運行SQL 服務器的服務器的有效路徑。如果data_file是遠程文件,則指定 通用命名約定(UNC)名稱。 UNC名稱的格式爲 \ Systemname \ ShareName \ Path \ FileName。例如, \ SystemX \ DiskZ \ Sales \ update.txt。
如果必須進口從HTTP文件,考慮編寫一個CLR存儲過程或使用SSIS」外部連接能力。
http://34.34.32.34/test.csv
正如錯誤消息所示,錯誤的文件名稱。正確的文件名看起來像c:\somefolder\test.csv
。以http:
開頭的內容是URL,而不是文件。
BULK INSERT不支持URL作爲源。您應該首先在本地下載文件(使用wget,curl或任何其他可以下載HTTP內容的程序),然後批量插入下載的文件。
如果你在瀏覽器中瀏覽http:// 34.34.32.34/test.csv會怎麼樣? –