BizTalk 绑定的特定版本 oracle 驱动程序?

Specific version oracle drivers for BizTalk bindings?

我正在尝试使 wcf 自定义发送端口的 oracle 绑定正常工作。 我收到此错误:

Could not load file or assembly 'Oracle.DataAccess, Version=2.111.7.0

None 的 oracle 站点上的安装似乎有这个版本。有什么建议吗?

那将是版本 11g 第 7 版 (11.1.7)。我相信 2 来自 .Net 2。

我关于为 32 位主机安装它的注释是(可从 Oracle 下载的文件):

获取 Oracle 开发人员工具 - ODTwithODAC1110621.zip

采用默认值并 select 所有项目。默认情况下将转到 C:\app[您的用户名]\product.1.0.

然后安装 ODT 补丁集 - p6890831_111070_Win32.zip

在安装过程中 select 先前步骤中的先前安装文件夹 (C:\app[您的用户名]\product.1.0)。 Select现有的甲骨文主页!从屏幕上可能看不出它是一个下拉菜单 – 不要 select 文件夹。

那应该会在全局程序集缓存中为您提供 Oracle.Data.Access 2.111.7.0 x86。

应该也有 64 位版本可用。

如果您尝试连接到 Oracle 11g,timobr 就可以使用。如果您尝试连接到 12c,则需要更新 machine.config 绑定以将对 11g DLL 的请求重定向到 12c 版本。有关详细信息,请参阅 Sandro Periera's blog;这是要添加到 machine.config:

的相关部分
<runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
        <assemblyIdentity name="Oracle.DataAccess"
          publicKeyToken="89b483f429c47342" />

        <bindingRedirect oldVersion="2.111.7.0" newVersion="2.112.1.2" />
      </dependentAssembly>
       </assemblyBinding>
</runtime>

请注意,所有适用的 .NET 版本(包括 x86 和 x64)都必须这样做。

另请注意,如果您 运行 在 64 位主机上,则需要 64 位驱动程序 - 但管理控制台是 32 位应用程序,没有它就无法正常工作32 位驱动程序。但是,在同一台机器上安装两者有点挑战...

我能够找到运行的解决方法,但它并不理想。我注意到 'add generated items' 向导能够连接到 oracle。执行此操作的代码在 visual studio 中并且是 32 位代码。所以我知道 32 位代码可以连接。我创建了一个仅 32 位的主机并且有那么多工作。

我从来没有让 64 位驱动程序工作,但没有尝试 Dan Field 的重定向