![](/img/trans.png)
[英]“Microsoft.ACE.OLEDB.12.0” cannot be loaded in-process on a 64-bit SQL Server
[英]The 32-bit OLE DB provider "Microsoft.ACE.OLEDB.12.0" cannot be loaded in-process on a 64-bit SQL Server
我在 SQL Server 数据库中有以下代码,最近我们将此数据库从 SQL Server 2008 R2 的服务器迁移到另一台 SQL Server 2014 的服务器。
IF EXISTS (SELECT 1 FROM sys.servers WHERE name = 'Excel_File_Src')
EXEC sp_dropserver 'Excel_File_Src', 'droplogins'
EXEC sp_addlinkedserver 'Excel_File_Src',
@srvproduct = 'ACE 12.0',
@provider = 'Microsoft.ACE.OLEDB.12.0',
@datasrc = 'E:\UCB_Data.xlsx' ,
@provstr = 'Excel 8.0;'
EXEC sp_addlinkedsrvlogin 'Excel_File_Src', 'false'
EXEC SP_TABLES_EX 'Excel_File_Src'
新的 SQL Server 版本是:
Microsoft SQL Server 2014 - Microsoft Corporation Developer Edition (64-bit) on Windows
它用于在旧服务器上完美运行,但在将其移动到新服务器后,出现以下错误。
无法在 64 位 SQL Server 上加载 32 位 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”。
首先,该消息告诉您安装在盒子上的办公位是 32 位版本。 您需要 64 位版本。 其次,请确保您没有在生产中运行“开发人员”版本,因为您不被允许 - 请参阅 EULA。
您可以同时下载 x64 和 x86 并运行这些命令来安装它们,而不会相互冲突:
"C:\\AccessDatabaseEngine_x64.exe" /passive
用于 64 位安装。
或者
"C:\\AccessDatabaseEngine.exe" /passive
用于 32 位安装。
错误是不是自我解释说 32 位驱动程序不能与 64 位安装一起使用。 您需要一个 64 位驱动程序来解决此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.