Reporting services 32位Oracle客户端无法在64位环境中工作的SSRS报告

Reporting services 32位Oracle客户端无法在64位环境中工作的SSRS报告,reporting-services,bids,oracleclient,badimageformatexception,Reporting Services,Bids,Oracleclient,Badimageformatexception,我有一份使用32位Oracle client build in BIDS 2008的SSRS报告,该报告在BIDS(VS 2008)中运行良好,但当部署到Win2k3 64位服务器上的报表管理器时,它失败了,出现以下错误 “尝试加载Oracle客户端库引发了BadImageFormatException。在安装了32位Oracle客户端组件的情况下以64位模式运行时,会出现此问题。” 我已经阅读了几篇文章,其中建议使用csscript Enable32Biton64'true'和aspnet_r

我有一份使用32位Oracle client build in BIDS 2008的SSRS报告,该报告在BIDS(VS 2008)中运行良好,但当部署到Win2k3 64位服务器上的报表管理器时,它失败了,出现以下错误

“尝试加载Oracle客户端库引发了BadImageFormatException。在安装了32位Oracle客户端组件的情况下以64位模式运行时,会出现此问题。”

我已经阅读了几篇文章,其中建议使用csscript Enable32Biton64'true'和
aspnet_regais-I
将IIS启用为32位,但问题是我有其他需要64位功能的应用程序,所以无法做到这一点


请给我建议方法。TIA。

在服务器上安装Oracle 64位客户端工具,例如


请卸载64位oracle,复制tnsnames.ora并重新启动服务器,我遇到了同样的问题,并且在完成后工作正常。

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

  • 安装64位客户端
  • 将Oracle资源清册目录@“C:\Program Files\Oracle”的名称更改为“C:\Program Files\Oracle64”
  • 重新启动计算机并测试从SSRS到Oracle的连接
  • 安装32位客户端并为其主目录指定其他位置
  • 重新启动计算机并测试从SSRS到Oracle以及从Web应用程序到Oracle的连接

  • 我希望这有助于我未来的自我和他人:)

    我在SSRS 2014中遇到了同样的问题。尝试安装SSRS 2016(版本14.0.609.142),出现相同问题。测试连接工作正常,但当我想继续配置时,我会收到消息

    在64位模式下运行并安装了32位Oracle客户端组件时,会出现此问题

    我尝试配置ODBC连接,发现报表服务器只查看了32个ODBC服务器

    接下来,我安装了最新的Oracle 32位客户端(12.2.0.1.0)。 然后一切顺利


    因此,即使错误消息要求使用64位驱动程序而不是32位驱动程序,实际情况正好相反。

    您是否尝试重新启动IIS和报表服务器?感谢Rohith的回复,如果我的问题让人困惑,很抱歉,我已经阅读了关于启用32ON64的文章,但没有实现它,因为它可能会影响其他应用程序,因为我的IIS在win3k服务器上是6,所以没有重新启动SSRS服务器的问题。我正在寻找其他方法来实现这一点。谢谢。谢谢Mike,我还有一些其他应用程序依赖于32位oracle客户端,我可以在服务器上同时使用32-64位吗?这会允许32位用户仍然使用32位资源吗?太好了,我会试一试,然后再回来。再次感谢,终于成功了。在机箱中安装了32位和64位客户端,并将64位配置为Oracle Home,但其他使用32位的应用程序无法工作,更不用说解决了我一半以上的问题;)。谢谢大家的帮助。