9

パッケージ実行タスクを使用していくつかのパッケージを呼び出しているマスターパッケージがあります。

子パッケージとマスター パッケージの両方に構成がなく、接続マネージャーでハードコーディングされた SQL 認証接続を使用して OLEDB (SQL Server) に接続しています。

また、パッケージにはパスワードで機密性の高い暗号化があります。

見られる奇妙な動作: 1. 子パッケージは、入札から実行すると正常に実行されますが、マスター パッケージから実行すると失敗し、接続の取得に失敗します。

「接続マネージャーへの AcquireConnection メソッド呼び出しがエラー コード 0xC0202009 で失敗しました」

誰かがこれの解決を手伝ってくれますか?

4

2 に答える 2

3

子パッケージが親パッケージから接続文字列を取得していないようです。接続文字列を親から子パッケージに渡す必要があります。

この記事をチェック

アップデート :-

子パッケージと親パッケージの両方のアクセス制御としてEncryptSensitiveWithPasswordがある場合、親パッケージから子 pkg を実行している間

実行中に子パッケージのパスワードを入力するよう求められます。

実行時にパスワードを入力した後でも、接続エラーを取得するために子 pkg の実行が失敗するシナリオがあるかもしれません。変更後に再構築されていない古い子パッケージ。

私の提案はExecute SQL Task、制御フローにドラッグするときに、ファイル システムの場所を使用し、bin フォルダー (または展開パス) に配置された更新された子パッケージをポイントし、子パッケージのパスワードをタスクに入力することです。

ここに画像の説明を入力

Integration Service (MSDB) から親パッケージを実行するには、実行時に子の復号化キーを渡す方法が必要です。

編集: ステップ 1: 親 SSIS パッケージのパッケージ構成を作成します。Execute Package Taskにはプロパティがあります。構成PackagePasswordファイルの作成中にこのプロパティを選択する必要があります

      Executables->ExecutePackageTask->PackagePassword

ここに画像の説明を入力

ステップ 2: XML ファイルを作成したら、それを開いて ConfiguredType=property を検索し、構成された値に子パッケージのパスワードを入力します。

ここに画像の説明を入力

ステップ 3: 親パッケージを MSDB にインポートした後、構成タブで構成ファイルを選択します。 ここに画像の説明を入力

于 2012-08-12T04:30:24.233 に答える
1

64/32ビットエラー?ソースとしてExcelの接続マネージャーがありますか?

Dtexecには、64ビットと32ビットの両方のアプリケーションがあります。BIDSから実行する場合、32ビットのdtexecを使用していると思いますが、マスターをどのように実行していますか?ダブルクリックした場合、DTExecUI(パッケージ実行ユーティリティ)は32ビットアプリケーションとしてのみ使用できるため、これが問題になる可能性があります。64ビットサーバーで作業していて、DTExecUIを介してパッケージを実行する場合、パッケージは32ビットエミュレーションモードで実行されます。さらに、使用される接続マネージャーが32ビットに準拠していない場合、パッケージが失敗する可能性があります。

32ビット環境でパッケージを開発し、64ビット環境でパッケージを実行する場合は、接続マネージャーが64ビットに準拠している必要があることに注意してください。Excelなどの一部の接続マネージャーは、32ビット環境でのみ機能します。

編集:ここでパスワードを設定してみてください: ここに画像の説明を入力してください

于 2012-08-13T13:55:23.887 に答える