0

嗯,这有点尴尬。我目前有一组关于 32 位 sql server 2005 实例的报告,该实例引用网络位置上的访问数据库。我目前正在尝试将这些迁移到我的新报告服务实例(sql server 2008 64 位),我遇到了一个问题。

喷射错误

好吧,我对错误进行了谷歌搜索,并得到了一堆东西说要编译为使用 x86 和使用 32 位等,但如果我在 rpeorting 服务中得到这个,它甚至都没有涉及。

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

4

2 回答 2

1

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

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 包作为报表数据源。不理想,但它有效。

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

于 2011-01-05T20:05:12.237 回答
1

我遇到了这个,它在特定情况下有效:

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

从那个帖子:

微软去年发布了一个兼容 64 位的 Jet 数据库引擎。以下是您可以用来解决此问题的过程:

  1. 下载 Microsoft Access Database Engine 2010 Redistributable(当然您需要为您的服务器选择合适的位),并将其安装在您的服务器上

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

于 2011-10-20T20:43:44.700 回答