SQL Server Microsoft.ACE.OLEDB.15.0

时间:2016-09-29 15:03:42

标签: sql-server oledb

我正在编写一个查询来访问Excel工作表(2013 - 32位)中的内容,并将其显示为SQL Server 2014 SP2 64位中的表。我收到了这个错误:

  

OLE DB提供程序" Microsoft.ACE.OLEDB.15.0"尚未注册。

我已尝试安装Access Runtime 2013和2010,但同样的问题仍然存在。我正在使用的查询是:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.15.0', 
                         'Excel 15.0;HDR=YES;Database=C:\SheetName.xlsx', 
                         'SELECT * FROM [PayerList$]')

3 个答案:

答案 0 :(得分:9)

Microsoft.ACE.OLEDB.15.0是随Access 2013 Runtime一起安装的OLEDB驱动程序的标识符。它不与Excel一起安装。实际上,您甚至不需要安装Excel。您将找到运行时here

注意下载正确的运行时版本。 64位进程不能使用32位提供程序,反之亦然。在您的情况下,您应该下载64位版本。

您应该从服务器中删除Excel,因为它根本不使用。

答案 1 :(得分:2)

我遇到了类似的问题。我刚刚从visual studio Compile>更改了程序属性。将CPU从x86定位到x64(或任何CPU)。这对我有用。我的机器是64位,程序是为x86编写的。

答案 2 :(得分:0)

我只是遇到了同样的问题。 有一种解决方法,可以通过在被动模式下安装ACE.OLDB来解决。但是,如果您不删除/重命名下面提到的文件,则启动后,您将不断使每个办公应用程序都运行初始设置菜单,从第一手的经验来看,这很快就很痛苦。

因此,所有内容都在此链接here中进行了说明。寻找以下博文:Applied Maths NV编辑,2013年2月20日,星期三,下午3:35 戴夫·科尔布(Dave Kolb)提议作为答案,2013年2月21日,星期四,下午4:48 2013年2月20日,星期三,下午2:37

但是,不必伤脑筋,只需卸载较旧版本的Office并安装64位版本的Office,即可让您也和平安装64位驱动程序。