我需要通过脚本将具有不同列数的多个文件导入SQL Server。我正在尝试使用OPENROWSET。我做了以下事情。
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无法为链接服务器“(null)”初始化OLE DB提供程序“MSDASQL”的数据源对象。
检查ODBC数据源管理器是否在OpenRowset调用中正确写入了驱动程序的名称。如果您使用的是Microsoft Text Driver,那么该名称可能就是其中之一
Microsoft Text Driver (*.txt; *.csv)
请注意,此名称在分号后面有一个空格。
就个人而言,我没有Microsoft文本驱动程序 - 我有Microsoft Access文本驱动程序,必须将其指定为
Microsoft Access Text Driver (*.txt, *.csv)