繁体   English   中英

无法在 64 位 SQL Server 上加载 32 位 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”

[英]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 位安装。

来源: “Microsoft.ACE.OLEDB.12.0”无法在 64 位 SQL Server 的进程中加载

错误是不是自我解释说 32 位驱动程序不能与 64 位安装一起使用。 您需要一个 64 位驱动程序来解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM