none
SSIS(2008R2)の接続マネージャにてOracleに接続できない RRS feed

  • 質問

  • 以下環境で評価を行っています。

    • 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では同一エラーが発生します。

    何か回避するためのヒント等をご教授いただけないでしょうか。

    2011年1月20日 5:04

回答

すべての返信

  • 確証があるわけではないのですが、ODBCのシステムDSNを作成し、接続に利用してみてはどうでしょうか。
    • 回答としてマーク 山本春海 2011年2月3日 1:34
    2011年1月20日 10:30
    モデレータ
  • まず、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
    2011年1月20日 11:30
  • ありがとうございます。

    ODBC、ODP.NET(OracleDataProvider)であれば、接続することができました。

    2011年1月21日 0:20
  • ありがとうございます。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フォーラムの方で質問させていただきます。

    2011年1月21日 0:31