5

接続文字列の構成ファイルを指す環境変数を使用して、SQL2008R2で正常に実行されていたSSISパッケージがあります。VS2010シェルを使用して、SQLServer2012データベースのパッケージをアップグレードしました。パッケージはまだパッケージ展開モデルにあります。パッケージのProtectionLevelはに設定されていDontSaveSensitiveます。Run64BitRuntime = False。VSでパッケージを実行しようとすると、次のエラーが発生します。

[OLE DB変換先[2]]エラー:SSISエラーコードDTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。接続マネージャ「DB_Connection」へのAcquireConnectionメソッドの呼び出しは、エラーコード0xC0202009で失敗しました。この前に、AcquireConnectionメソッドの呼び出しが失敗した理由の詳細が記載されたエラーメッセージが投稿される場合があります。**

[SSIS.Pipeline]エラー:OLE DB変換先が実行前フェーズに失敗し、エラーコード0xC020801Cを返しました。**

完全にログオンすると、ここで最初の失敗が表示されます。

Diagnostic、[ComputerName]、OFFICE \ username、DB_Connection、{5AD75239-D546-4AAF-963E-E195FC2F0C1E}、{9EC48106-DDBD-40E9-8FBB-942BCF025EEE}、3/26/2013 10:35:21 AM、3 / 26/2013 10:35:21 AM、0、(null)、ExternalRequest_post:'ITransactionJoin::JoinTransactionが失敗しました'。外部リクエストが完了しました。**

私を本当に驚かせているのは、パッケージの前半で、同じ「DB_Connection」マネージャーが多くのSQL実行タスクで正常に使用されていることです。したがって、接続文字列は構成から正しく読み取られているようです。

接続マネージャーを削除/再作成してみました。ローカルとサーバーの両方でDTCが正しく構成されていることを確認しました。データフロータスクを使用して同じ構成方法を使用して同じSQL2012DBに問題なく接続している他のパッケージがあります。

誰かが私を正しい方向に向けるために与えることができるどんな助けでも大いに感謝されるでしょう。必要がなければ、現時点ではプロジェクト展開モデルに移行する必要はありません。

4

1 に答える 1

7

パッケージをローカルで実行することができました。タスクのTransactionOptionをチェックして、それらがSupportedに設定されていることを確認しましたが、シーケンスコンテナーの1つがRequiredに設定されていることがわかりました。これがSQL2008R2で機能したのに、SQL2012では機能しなかった理由はわかりません。コンテナをSupportedに変更すると、パッケージが実行されます。

于 2013-03-27T18:37:37.260 に答える