我们如何为 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 位模式下运行该软件包