2016-04-08 55 views
0

SSISパッケージ(SQL Server 2008 R2)を使用してOracleに接続しようとしていて、SQL Serverテーブルにデータをロードしています。 LISTNER Oracleのクライアント:64ビット2008 R2マシン エージェントジョブでスケジュールされたときにSSISパッケージが失敗する

    1. ランは、TNSセットアップをしました。私は、32ビットと64ビットの両方のOracleクライアントをインストールしています。
    2. 設定環境変数パス(TNS_ADMIN)HKEY_LOCAL_MACHINEにレジストリエントリ "TNS_ADMIN" を作成した64ビットのOracleクライアント
    3. のTNSNAMES.ORAディレクトリを指しているが - > SOFTWARE - > ORACLE

    すべてが時に適していますBIDSで稼働しています。私はAttunityコネクタとネイティブOracle Provider for OLEDBを使用しました。どちらもBIDSで動作します。

    できるだけ早く私は、SQLエージェントジョブでそれをスケジュールし、同じパッケージを実行すると、私はエラーを以下の取得:

    Message Executed as user: AMERICAS\ssisdata. Microsoft (R) SQL Server Execute Package Utility Version 10.50.1600.1 for 32-bit Copyright (C) Microsoft Corporation 2010. All rights reserved. Started: 3:17:23 PM Error: 2016-04-08 15:17:32.76 Code: 0xC0202009
    Source: ORA OLEDB TEST Connection manager "OLEDB ORA CONN MGR"
    Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "OraOLEDB" Hresult: 0x80004005 Description: "ORA-12541: TNS:no listener". End Error Error: 2016-04-08 15:17:32.76 Code: 0xC020801C Source: Data Flow Task OLE DB Source [209]
    Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "OLEDB ORA CONN MGR" failed with error code 0xC0202009.

    私は別のマシンで試してみました。しかし、これも同じです。 2日以来、私の頭を壊してしまった。どんな助けもありがとう。

  • +0

    「ORA-12541:TNS:no listener」というエラーはかなり確定しています。要求を行ったクライアントが指定したIPアドレスとポートには、Oracleリスナー・プロセスはありません。期間。完全停止。クライアントマシンから正常にtnspingを取得できれば、Oracleは被害者であり、犯人ではなく、oledb構成を通過する必要があります。あなたが何を意味するのかわからない "クライアントのためのリスナー"。リスナーはクライアント側のプロセスではなく、サーバー側のプロセスです。 – EdStevens

    +0

    Oracleをホストしているサーバーでは、lsnrctl、次に「status」と入力します。アクティブなリスニングプロセスが表示されない場合は、「start」と入力します。また、クライアントのtnsnamesエントリが正しいホストと適切なサービスを指していることを確認してください。 –

    +0

    Chrisに感謝します。しかし、私は同じマシンから同じことをしようとしています。指定されたIPアドレスにOracleリスナー・プロセスがない場合、Visual Studioから実行するときに同じパッケージが失敗するかどうかVSから実行するとうまく動作します。ただし、同じマシンのSQLエージェント・ジョブでのみ失敗します。 "tns listener for client"について、私の悪いところは、TNSNAMES.oraファイルの仕様です。 "tnsping"は私のマシンから有効なコマンドとして認識されません。 VSを使って正常に接続できるようになったときに、なぜそのメッセージを受け取っているのか分かりません。 –

    答えて

    0

    サーバーと開発マシンでOracleのセットアップを実行しましたか?

    また、ジョブの一部としてサーバー上で実行すると、SSISパッケージはSQL Serverエージェントサービスアカウントとして実行されます。したがって、すべてのOracle構成(インストール、セキュリティなど)がそのアカウントに対しても有効であることを確認する必要があります。重要なテストは、サーバーにSQL Serverエージェントアカウントとしてログインすることです(DBA/sysadminを使用すると、このユーザーに対話的にログオンすることができます。この権限が付与されていないことがよくあります)。そのユーザーの下で動作します。

    「サーバではなくdevで動作する」という問題は、通常、SQL Serverエージェントアカウントがdevユーザとして当然のことと同じリソースにアクセスできないために発生します。

    +0

    こんにちは 私のサーバーと開発マシンはどちらも同じです。私は同じマシンから実行しようとしています(VSから実行し、エージェントジョブを設定しています)。しかし、VSから走っているときだけ動作します。私が見る違いは、VSから実行すると、自分のユーザーアカウントで実行され、エージェントジョブから実行している間はSSISサービスアカウントで実行されるということです。あなたの選択肢を試してみる必要があるかもしれません。現時点ではその特権はありません。管理者と協力する必要があります。 基本的に、Oracleの構成は同じマシンであるため、配置されています。 –

    関連する問題