首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.解

2012-02-26 
The Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine.操作系统:Windows Ser

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
操作系统:Windows Server 2008 64位企业版
数据库:SqlServer 2005 64位企业版
环境:SqlServer 2005 SSIS package

在SSIS的package中读取.xlsx文件,因为SQL SERVER 2005不支持直接读取此类文件,所以采取用'Microsoft.ACE.OLEDB.12.0来读取,包执行中提示错误:The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
即:(未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序)

其中AccessDatabaseEngine.exe正确默认安装。
在产品服务器上环境相同,包的执行正确,这个服务器是我自己新建的,不知道哪里设置有问题。

谢谢各位。

[解决办法]
你的环境是64位的,OLEDB 是没有64位的provider的,所以要在64位环境下执行,这个有几种方案

1, 在SSIS项目中选择属性:Debugging中将Run64bitRuntime设置成true

2,调用C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe
一定要是(X86)这个文件夹下的哦,这个命令行工具的具体用法可以查看MSDN

热点排行