链接服务器“(null)”的OLE DB提供程序“ MSDASQL”报告错误。提供者未提供有关该错误的任何信息

时间:2019-03-28 23:38:51

标签: sql-server oracle tsql linked-server openrowset

我需要通过脚本将具有不同列数的多个文件导入SQL Server。我正在尝试为此使用OPENROWSET。我已经做了以下工作。

  1. 在客户端X64 PC上安装的驱动程序。

  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)”报告错误。提供者没有给   有关错误的任何信息。 Msg 7303,第16级,状态1,第17行   无法初始化OLE DB提供程序“ MSDASQL”的数据源对象   链接服务器“(null)”。

1 个答案:

答案 0 :(得分:0)

签入ODBC Data Source Administrator,以确保驱动程序名称正确写入了OpenRowset调用中。如果您使用的是Microsoft文本驱动程序,则名称实际上可能是

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

请注意,此名称在分号后有一个空格。

我个人没有Microsoft文本驱动程序-我具有Microsoft Access文本驱动程序,必须将其指定为

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