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

问题描述 投票:0回答:1

我需要通过脚本将具有不同列数的多个文件导入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)”报告错误。提供商未提供有关错误的任何信息。消息7303,级别16,状态1,行17无法为链接服务器“(null)”初始化OLE DB提供程序“MSDASQL”的数据源对象。

sql-server oracle tsql linked-server openrowset
1个回答
0
投票

检查ODBC数据源管理器是否在OpenRowset调用中正确写入了驱动程序的名称。如果您使用的是Microsoft Text Driver,那么该名称可能就是其中之一

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

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

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

Microsoft Access Text Driver (*.txt, *.csv)
© www.soinside.com 2019 - 2024. All rights reserved.