0
我正在嘗試使用傳遞查詢來執行大容量插入語句。我有以下代碼:錯誤3146:ODBC - 調用失敗,傳遞大容量插入
sSQL = "BULK INSERT tbl_Name "
sSQL = sSQL & "FROM 'C:\Users\UserName\Desktop\File.txt' "
sSQL = sSQL & "WITH "
sSQL = sSQL & "("
sSQL = sSQL & "FIELDTERMINATOR = ',', "
sSQL = sSQL & "ROWTERMINATOR='\n'"
sSQL = sSQL & ");"
Set db = CurrentDb
Set qdf = db.CreateQueryDef("")
qdf.Connect = db.TableDefs("dbo_tbl_Name").Connect
qdf.ReturnRecords = False
qdf.SQL = sSQL
qdf.Execute dbFailOnError
Set qdf = Nothing
Set db = Nothing
我得到的錯誤是:3146
與ODBC--call failed.
說明如果我改變sSQL聲明的INSERT語句或SELECT語句時,查詢執行就好了。
爲什麼我的BULK INSERT不能通過查詢在PASS中工作?我打印出我的sSQL字符串,以確保它是正確的,它似乎是:
BULK INSERT tbl_Name FROM 'C:\Users\UserName\Desktop\File.txt' WITH (FIELDTERMINATOR=',', ROWTERMINATOR='\n');
附註:您可以將第一段代碼寫爲:'sSQL =「BULK INSERT tbl_Name&_'換行符'更多代碼here'。或者請參閱https://msdn.microsoft.com/zh-cn/我們/圖書館/ ba9sxbw4.aspx –
@湯姆 - 謝謝!我一定會嘗試這個。 – NLMDEJ