Поставщик OLE DB "MSDASQL" для связанного сервера "(null)" сообщил об ошибке. Провайдер не дал никакой информации об ошибке - PullRequest
0 голосов
/ 29 марта 2019

Мне нужно импортировать несколько файлов с различным количеством столбцов в SQL Server через скрипт.Я пытаюсь использовать OPENROWSET для этого.Я сделал следующее.

  1. Установленный драйвер на клиентском ПК X64.

  2. Выполнение приведенных ниже команд.

EXEC sp_configure 'show advanced options', 1;
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;

При попытке прочитать файл через

SELECT * from OpenRowset('MSDASQL','Driver={Microsoft Text Driver (*.txt;*.csv)};DefaultDir=c:\Delme\;','select * from input.csv' )

Я получаю следующие ошибки.

Сообщение 7399, уровень 16, состояние 1, строка 17 Поставщик OLE DB "MSDASQL" для связанного сервера "(null)" сообщил об ошибке.Поставщик не предоставил никакой информации об ошибке.Сообщение 7303, уровень 16, состояние 1, строка 17 Не удается инициализировать объект источника данных поставщика OLE DB "MSDASQL" для связанного сервера "(null)".

1 Ответ

0 голосов
/ 30 марта 2019

Проверьте в ODBC Data Source Administrator, что имя вашего драйвера правильно записано в вашем вызове OpenRowset.Если вы используете Microsoft Text Driver, вероятно, это имя на самом деле

Microsoft Text Driver (*.txt; *.csv)

Обратите внимание, что это имя имеет пробел после точки с запятой.

Лично у меня нет текстового драйвера Microsoft - у меня есть текстовый драйвер Microsoft Access, и я должен указать его как

Microsoft Access Text Driver (*.txt, *.csv)
...