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對應目錄,告訴程式執行時用哪個版本來連線資料庫伺服器
配置完成這些應該就可以使用了