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

32位OLE DB提供程序";Microsoft.ACE.OLEDB.12.0“;无法在64位SQL Server上的进程内加载,sql,sql-server,sql-server-2008-r2,sql-server-2014,Sql,Sql Server,Sql Server 2008 R2,Sql Server 2014,我在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',

我在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
它用于在旧服务器上完美运行,但在将其移动到新服务器后,我们会发现以下错误

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


32位驱动程序不能与64位安装一起使用,这不是一个不言自明的错误吗。您需要一个64位驱动程序来解决此问题。

首先,消息告诉您安装在机箱上的office位是32位版本。您需要64位版本。其次,请确保您没有在生产环境中运行“Developer”版本,因为您不被允许—请参阅EULA。

您可以下载x64和x86,并运行这些命令来安装它们,而不会相互冲突:

“C:\AccessDatabaseEngine_x64.exe”/passive
用于64位安装

“C:\AccessDatabaseEngine.exe”/passive
用于32位安装


来源:

下载x64版本的驱动程序,它只是另一个开发服务器。我应该在该服务器上安装MS office 64位版本还是SQL server 64位版本。这就是问题所在-您安装了64位SQL server(这是正确的),因此您需要安装64位版本的office。本文将提供帮助:请提供有用的信息,而不是翻译文本。这个问题很好known@Amirreza这本身就说明了这一点,而且确实很有用。你还期待什么。老实说,我希望你能添加一些有用的东西,只要搜索错误,你就会发现这是很多人的问题,在某些情况下需要解决,(编辑你的问题(更改某些内容),这样我就可以投上票)