Я пытаюсь выполнить оператор Bulk Insert с использованием сквозного запроса. У меня есть следующий код:Ошибка 3146: ODBC - Call Failed с сквозной массовой вставкой
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 к ВСТАВИТЬ ЗАЯВЛЕНИЕ или ЗЕЬЕСТ, запрос выполняется только штрафом.
Почему мой BULK INSERT не работает в PASS через запрос? Я печатаю мою sSQL строку, чтобы убедиться, что это правильно, и это, кажется:
BULK INSERT tbl_Name FROM 'C:\Users\UserName\Desktop\File.txt' WITH (FIELDTERMINATOR=',', ROWTERMINATOR='\n');
На стороне примечания: вы можете написать этот первый фрагмент кода как: 'sSQL =" BULK INSERT tbl_Name & _' строка break 'больше кода здесь'. Или см. Https://msdn.microsoft.com/en- us/library/ba9sxbw4.aspx –
@Tom - Спасибо, я обязательно попробую это. – NLMDEJ