有人在Sql Server Reporting Services、64位操作系统和Oracle数据源中见过这种行为吗?

有人在Sql Server Reporting Services、64位操作系统和Oracle数据源中见过这种行为吗?,oracle,sql-server-2008,reporting-services,oracleclient,badimageformatexception,Oracle,Sql Server 2008,Reporting Services,Oracleclient,Badimageformatexception,我正在开发一个Sql Server Reporting Services解决方案,该解决方案可以跨Sql Server数据源和Oracle 10g数据源进行查询。我的开发盒是Windows 7 64位,带有Sql Server 2008R2,我在该系统上托管IIS7和SSR进行开发;使用VS.NET设计报告 我在运行报告时遇到错误,SSRS抱怨在64位进程中加载32位Oracle客户端。有很多关于如何解决这个问题的线索。问题是,它们都是为了确保您拥有64位Oracle客户端,我就是这么做的。我经

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

我在运行报告时遇到错误,SSRS抱怨在64位进程中加载32位Oracle客户端。有很多关于如何解决这个问题的线索。问题是,它们都是为了确保您拥有64位Oracle客户端,我就是这么做的。我经历的一系列奇怪的事件如下:

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

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

您需要安装64位Oracle客户端。请注意,我在使用oracle 32位和64位客户端方面有过不好的经验。我最终卸载了64位oracle客户端,并尝试在64位win7上以32位模式安装SSR。

最初回答如下:

这是我第二次配置类似的服务器,也是我第二次花上几个小时来解决这个问题。如果没有其他人,我写这篇文章是为了未来的我。这适用于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的连接
  • 我希望这有助于我未来的自我和他人:)