我们如何为 64 位操作系统设置 oledb 提供程序

Posted

技术标签:

【中文标题】我们如何为 64 位操作系统设置 oledb 提供程序【英文标题】:How can we set oledb provider for 64 bit operating system 【发布时间】:2015-11-09 09:39:38 【问题描述】:

我想在我的 sql 中获取 jet 4.0 的 oledb 提供程序。我使用的是 64 位版本的 windows。

我创建了一个链接服务器来访问 access 数据库并将该数据库导入到 sql。

所以,我编写了一个存储过程来创建一个链接服务器,我提到提供者为 Microsoft oledb jet 4.0。

我在 64 位中遇到了这样的错误

'OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 不能用于分布式查询,因为提供程序配置为在单线程单元模式下运行。'

在 32 位窗口中它工作正常。我安装了 microsoft oledb jet 驱动程序。但是在 64 位中它没有被安装。

您能否告诉我在 Sql 链接服务器中获取提供程序 oledb jet 4.0 的建议。

【问题讨论】:

尝试在连接字符串中使用Provider=Microsoft.ACE.OLEDB.12.0; 而不是Provider=Microsoft.Jet.OLEDB.4.0 这是 windows 窗体还是 ASP? Excel同理:dba.stackexchange.com/questions/68050/… 这也不行,我之前也检查过这个 【参考方案1】:

当您需要使用MS Access数据库时,您需要安装数据库访问引擎。检查链接:https://www.microsoft.com/en-us/download/details.aspx?id=13255 还要考虑连接字符串中您在主机上安装的 Access 版本。

【讨论】:

我在使用 ACE 引擎连接到链接服务器时遇到这样的错误“无法为链接服务器“ClientAc825”初始化 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”的数据源对象。链接服务器“ClientAc825”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”返回消息“无法打开数据库''。它可能不是您的应用程序识别的数据库,或者文件可能已损坏。”。'跨度> 【参考方案2】:

对我来说,有效的方法是从以下位置安装数据库驱动程序: 2016 Access 可再发行版 https://www.microsoft.com/en-us/download/details.aspx?id=54920 然后调整我的连接字符串例如:

connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.16.0;Data Source=F:\SKS\SKSDatabase\Orders.mdb";

【讨论】:

以上是关于我们如何为 64 位操作系统设置 oledb 提供程序的主要内容,如果未能解决你的问题,请参考以下文章

数据驱动编码 UI 测试:如何为 Access 数据库 (oledb) 设置数据源?

为啥 VFP .NET OLEdb 提供程序不能在 64 位 Windows 中工作?

请求的 OLE DB 提供程序 Microsoft.ACE.OLEDB.16.0 未注册。如果未安装 32 位驱动程序,请在 64 位模式下运行该软件包

iis 部署 未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序

如何为64位python 3安装64位vlc库?

如何为每个字符设置0位?