小编Ste*_*han的帖子

无法为链接服务器初始化 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”的数据源对象

恐怕这将是一个很长的故事;-(

我必须将一些文本文件读入 SQL 数据库。此数据库位于 SQL 2008 R2 x64 数据库服务器上。我想使用链接服务器,所以经过一些研究,我发现我必须安装 Microsoft.ACE.OLEDB.12.0 x64 提供程序。我在我的本地机器上做了这个,在我创建了我的链接服务器之后,我在阅读文本文件时遇到了一些麻烦。

链接服务器的提供程序设置为使用 Microsoft.ACE.OLEDB.12.0,数据源指向正确的文件夹,提供程序字符串设置为“TEXT”,但我无法测试连接。它抛出了这个错误:

无法为链接服务器“XXXXXXXXX”初始化 OLE DB 访问接口“Microsoft.ACE.OLEDB.12.0”的数据源对象。链接服务器“XXXXXXX”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”返回消息“未指定的错误”。(Microsoft SQL Server,错误:7303)

经过一番研究,我发现 SQL 服务在 NETWORKING SERVICE 帐户下运行。当我将其更改为本地帐户时,一切正常。

注意:我还必须更改提供程序的一些设置,选中“允许进程内”,否则无法浏览配置数据源文件夹中的文件。

但是现在我尝试在我的客户网络上实施这个解决方案,但我无法让它工作。它也是一个 SQL 2008 R2 x64 数据库服务器,安装了 Microsoft.ACE.OLEDB.12.0 提供程序,但它仍然抛出上述错误。所以我问他们用哪个帐户来运行SQL服务。这是一个属于该服务器本地管理员组的 AD 帐户,因此据我所知,它具有足够的权限。正在测试的用户使用 Windows AD 帐户连接到数据库引擎,也属于管理员组。但是当他尝试测试连接时,它抛出了同样的错误。

我尝试的另一件事是使用 OPENROWSET,这也会产生未指定的错误。是的,我已经使用下一条语句设置了“临时分布式查询”:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
Run Code Online (Sandbox Code Playgroud)

所以在这里我得到了我的开发箱,一切正常。但是当我部署到测试服务器时,它会出现这些连接问题。其实我不知道该怎么做或检查了。我已经工作和搜索了好几天了。有没有人有其他一些建议我可以尝试?

sql-server oledb

6
推荐指数
1
解决办法
8万
查看次数

标签 统计

oledb ×1

sql-server ×1