アセンブリを使用して、Sharepoint 2010 で Oracle データベースへの BDC 接続を確立しようとしています。アセンブリを単体テストすると完全に機能しますが、BDC で使用すると、次の例外が発生します:「プロバイダは Oracle クライアントのバージョンと互換性がありません」
BDC モデルの残りの部分は正常に機能します。アセンブリから実際の Oracle の結果ではなく、ダミー オブジェクトを返すと、正常に表示されます。
何か案は?
アセンブリを使用して、Sharepoint 2010 で Oracle データベースへの BDC 接続を確立しようとしています。アセンブリを単体テストすると完全に機能しますが、BDC で使用すると、次の例外が発生します:「プロバイダは Oracle クライアントのバージョンと互換性がありません」
BDC モデルの残りの部分は正常に機能します。アセンブリから実際の Oracle の結果ではなく、ダミー オブジェクトを返すと、正常に表示されます。
何か案は?
次のことを確認してください。 1. 同じマシンから別の Oracle クライアントに接続できる。2. 実行中のコードと呼び出されたアセンブリには、同じビットの実行可能ファイル (32\64) があります。
私にとっては後者が問題であり、再インストールする必要がありました..
なぜ機能しないのかはまだわかりませんが、アセンブリの代わりに BDC 接続に WCF サービスを使用することで問題を回避しました。
元の原因に関する疑いは、32/64 ビットの競合 (ただし、すべてを 64 ビットにコンパイルしても解決されませんでした)、またはおそらく 64 ビット ODP.NET と Win 2k8 の間の競合 ( 「Oracle 11 の 64 ビット ODP.NET Win2k8 64 ビットでは動作しません。」 )