嗯,这有点尴尬。我目前有一组32位sql server 2005实例的报告,它引用了网络位置上的访问数据库。我目前正在尝试将这些迁移到我的新报告服务实例(sql server 2008 64位),我遇到了一个问题。
好吧,我做了一个关于错误的谷歌搜索并得到了一堆东西说要编译使用x86并使用32位等,但如果我在rpeorting服务中得到这个,它们都没有触及。
我的问题是,有没有办法“修复”这个,或某种解决方法?也许我可以使用另一个提供来访问数据库? 任何想法都会非常感激。
答案 0 :(得分:1)
今天遇到完全相同的问题,因为你提到没有64位的Microsoft.Jet.OLEDB.4.0提供程序可用。这会影响尝试在64位Reporting Services实例上使用Excel和Access数据源的报表。以下是KB文章,确认没有64位Jet驱动程序可用:
http://support.microsoft.com/kb/957570
我找到的解决方案来自MSDN上的论坛帖子:
它涉及创建一个SSIS包,该包读取Excel或Access数据源,以32位模式运行SSIS包,并使用SSIS包作为报告数据源。不理想,但它有效。
我担心这是我们受限制的讨厌的解决方法。
答案 1 :(得分:1)
我碰到了这个,它在一个特定的案例中起作用:
http://danielcai.blogspot.com/2011/02/solution-run-jet-database-engine-on-64.html
从那篇文章:
微软去年发布了64位兼容的Jet数据库引擎。以下是您可以用来解决此问题的过程:下载Microsoft Access数据库引擎2010可再发行组件( 当然,你需要为你的服务器选择合适的位),以及 将其安装在您的服务器上
更改代码或配置文件中的连接字符串 提供商= Microsoft.Jet.OLEDB.4.0; 至 提供商= Microsoft.ACE.OLEDB.12.0;