トップ回答者
SSIS(2008R2)の接続マネージャにてOracleに接続できない

質問
-
以下環境で評価を行っています。
- Windows Server 2008 R2 Standard(64bit)
- SQL Server 2008 R2 Standard(64bit)
SSISにて別サーバ上のOracleからデータを取得するため、ADO.NET変換元(接続マネージャー)を作成していますが、接続テストを行うと以下のエラーが発生します。
「ORA-12504:TNS:リスナーはCONNECT_DATAのSERVICE_NAMEを取得できませんでした。」
評価サーバ上にOracleClient(11g)の32bit版、64bit版をそれぞれインストールし、tnsnames.oraを設定後、SQL*Plusによる接続確認は正常に完了できています。
※最初は11.2.0にて確認しましたが、32bit版だったため、64bit版の11.1.0にて確認を行ってみましたが、SQL*PLUSでは接続できるもののSSISでは同一エラーが発生します。
何か回避するためのヒント等をご教授いただけないでしょうか。
回答
すべての返信
-
まず、SQLServerが64Bit版でも、Business Intelligence Development Studioは、32Bitで動作します。
64BitのOracleClientで接続できても SSBIDevからでは接続できません。
SSISはSSBIDevではなく、DTEXTCやエージェントから実行する場合は、
デフォルトでは64Bitで動作するので、SSBIDevでは繋がっても、SSISでつながらない場合があります。
(SSISを32Bitモードで動かせば、大丈夫です。)評価環境ということなので、32,64双方のORACLEクライアントが使えるか確認されてはいかがでしょうか?
私は、64Bit接続が上手くいかず断念して、SSISを32Bitモードで動かしています。
ORACLEへの接続は、[OLE DB接続]を使用しています。追記: SSIS・SSAS・SSRAの質問は「SQL Server Business Intelligence」フォーラムの方がいいかもです。
---------------------------------
Infospire Kayano -
ありがとうございます。ODBC、ODP.NET(OracleDataProvider)であれば動作を確認しました。
プロバイダも64bit環境未対応のため、プロジェクトプロパティにて「Run64BitRuntime」をFalseにする必要があるんですね。
ただ、32bit版のOracleClientでも、SSBIDev上にてOracleClientDataProvider、OLE DB Provider for Oradleの双方で接続テスト時に同一エラーが発生しているため、SQLServer側の不具合なのではないか(SQL*Plusでは32bit、64bit共に接続できるため)と感じました。どうもTNSNAMES.ORAのSID(ServiceName)を読み込めていないようなエラーですので。。。
>追記: SSIS・SSAS・SSRAの質問は「SQL Server Business Intelligence」フォーラムの方がいいかもです。
ありがとうございます。次回以降はBIフォーラムの方で質問させていただきます。