2010-11-09 216 views
0

嗯,这有点尴尬。我目前有一组关于32位sql server 2005实例的报告,该实例引用网络位置上的访问数据库。我目前正试图将这些迁移到我的新报告服务实例(sql server 2008 64位),并且我遇到了一个问题。SSRS'Microsoft.Jet.OLEDB.4.0'供应商没有在本地机器上注册

Jet Error

好了,我做了错误谷歌搜索,并得到了一堆东西说来编译使用x86和使用32位,等等,但没有它甚至触及如果我是在转运服务中获得这一点。

我的问题是,有没有办法“修复”这个或某种解决方法?也许还有另一种提供我可以用来访问数据库? 任何想法将不胜感激。

回答

1

今天遇到了完全相同的问题,因为您提到没有64位Microsoft.Jet.OLEDB.4.0提供程序可用。这会影响尝试在64位Reporting Services实例上使用Excel和Access数据源的报表。这里是知识库文章,确认没有64位的喷气驱动程序是:

http://support.microsoft.com/kb/957570

MSDN上我找到的解决方案是从这个论坛的帖子:

http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/9e999fb4-5a39-41c4-8fd7-46193a223673/

它涉及到创建读取Excel或Access数据源的SSIS包,以32位模式运行SSIS包,并使用SSIS包作为报表数据源。不理想,但它的工作原理。

恐怕这是我们限制的讨厌解决方法。

1

我跑过这一点,这在特定的情况下工作:

http://danielcai.blogspot.com/2011/02/solution-run-jet-database-engine-on-64.html

从该职位:

微软已经发布了兼容64位Jet数据库引擎的最后一年。以下是你可以用它来解决此问题的方法:

  1. 下载Microsoft Access数据库引擎2010可再发行( 当然你需要为服务器选择合适的位), 安装在您的服务器上

  2. 更改您的代码或配置文件中的连接字符串从 Provider = Microsoft.Jet.OLEDB.4.0; 至 Provider = Microsoft.ACE.OLEDB.12.0;

相关问题