0

我正在开发一个 Sql Server Reporting Services 解决方案,该解决方案跨 Sql Server 数据源和 Oracle 10g 数据源进行查询。我的开发盒是带有 Sql Server 2008R2 的 Windows 7 64 位,我在该系统上托管 IIS7 和 SSRS 以进行开发;使用 VS.NET 设计报告。

我在运行报告时遇到错误,其中 SSRS 抱怨在 64 位进程中加载​​ 32 位 Oracle 客户端。关于如何解决这个问题有很多线程。问题是,他们都归结为确保您拥有 64 位 Oracle 客户端,我就是这样做的。我遇到的奇怪的事件链是这样的:

  • 创建初始 Oracle 数据源并连接报告(有效)
  • 编辑 Oracle 数据源连接(它停止使用 BadImageFormatException 32 位/64 位错误消息)
  • 卸载并重新安装 Oracle 客户端(它可以工作)
  • 再次编辑 Oracle 连接(它停止使用 BadImageFormatException 32 位/64 位错误消息)

每次更改连接字符串时都没有重新安装客户端,我完全不知所措。有没有人见过这种行为?如果是这样,我到底做错了什么?

4

2 回答 2

1

最初在这里回答:带有 32 位 Oracle 客户端的 SSRS 报告在 64 位环境中不工作

这是我第二次配置类似的服务器,也是我第二次花费数小时来解决这个问题。如果没有其他人,我正在为未来的我写这篇文章。这适用于 Windows Server 2012 R2 64 位、8GB RAM、300+GB 硬盘、Intel Xeon CPU E5620 @ 2.40GHz,运行 Microsoft SQL Server Reporting Services 2012 64 位和 IIS 7.0 以及使用 Oracle 客户端 32 位连接系统的 Web 应用程序.Data.OracleClient

  1. 安装64位客户端
  2. 将Oracle库存目录的名称@“C:\Program Files\Oracle”更改为“C:\Program Files\Oracle64”
  3. 重新启动计算机并测试从 SSRS 到 Oracle 的连接
  4. 安装 32 位客户端并为其主目录指定不同的位置
  5. 重新启动计算机并测试从 SSRS 到 Oracle 以及从 Web 应用程序到 Oracle 的连接

我希望这对我未来的自己和其他人有所帮助:)

于 2015-10-31T16:59:58.807 回答
0

您需要安装 64 位 Oracle 客户端。请注意,我在同时拥有 oracle 32 位和 64 位客户端方面的经验很糟糕。我最终卸载了 64 位 oracle 客户端并试图弄清楚在 64 位 win7 上以 32 位模式安装 SSRS。

于 2010-07-15T17:26:13.110 回答