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

问题描述 投票:1回答:3

我在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”。]

我在SQL Server数据库中具有以下代码,最近我们已将该数据库从SQL Server 2008 R2服务器迁移到另一台SQL Server 2014服务器。IF EXISTS(SELECT 1 ...

sql sql-server sql-server-2008-r2 sql-server-2014
3个回答
2
投票
首先,消息告诉您您在盒子上安装的Office位是32位版本。您需要64位版本。其次,请确保您因为不允许使用而不在生产中运行“ Developer”版本-请参阅EULA。

0
投票
您可以下载x64和x86并运行以下命令来安装它们而不会彼此冲突:

-1
投票
不是错误的自我说明,它说32位驱动程序不能与64位安装一起使用。您需要一个64位驱动程序来解决此问题。
© www.soinside.com 2019 - 2024. All rights reserved.