BizTalk 2013R2 WCF-LOB Oracle Adapter安装配置/问题&解决方法
安装Oracle Adapter
安装Oracle客户端
BizTalk 2013R2 安装包自带的WCF LOB Adapter Pack for Oracle 需要Oracle客户端组件 ODP.NET或ODAC组件。这里很容易出现问题,版本的不兼容,因为Oracle Adapter默认需要安装 11.1.0.7这个版本
The Oracle Database adapter uses the Oracle Data Provider for .NET (ODP.NET) 11.1.0.7 to communicate with the Oracle database. You can use the Oracle Database adapter to communicate with the Oracle database in the following ways:
http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
安装完成后 还是需要配置
tnsnames.ora 文件
TNS的配置就不多说了
正常情况下这样安装和配置完成就没问题了
遇到的问题和解决方法
比如你已经安装了其它版本的Oracle 客户端比如12C,或其他版本
那么就会出现以下的
以上问题的原因是Oracle Adapter引用了Oracle.DataAccess.dll这个类库,如果你安装多个版本那么就会在C:\Windows\assembly 目录下出现多个版本的dll
解决方法就算删掉多余
也可以修改.net 配置文件
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config
<system.data> <DbProviderFactories> <add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=2.111.7.20, Culture=neutral, PublicKeyToken=89b483f429c47342" /> <add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add name="Data Provider for SAP" invariant="Microsoft.Data.SAPClient" description=".NET Framework Data Provider for mySAP Business Suite" type="Microsoft.Data.SAPClient.SAPClientFactory, Microsoft.Data.SAPClient, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </DbProviderFactories> </system.data>
修改成对应的版本号
还需要修改BizTalk的配置文件
C:\Program Files (x86)\Microsoft BizTalk Server 2013 R2\ BTSNTSvc.exe.config
如果安装有多个版本Oracle 客户端,那么需要在环境变量中添加制定一下ORACLE_HOME对应目录,告诉程序运行时用哪个版本来连接数据库服务器
配置完成这些应该就可以使用了