私はSSISを初めて使用しますが、SSISを使用した非常に単純なユースケースであると思われることをしようとしていますが、解決策が見つからないようです。
簡単に言うと、2 つの SSIS 環境 (DEV1 と DEV2 など) を同じ PC 上で独立して実行しようとしています。進行中の開発作業と緊急のバグ修正を同じ時間枠内で行わなければならない場合があります。
このため、システム環境変数を使用してデータベース接続文字列のようなものを保持しても機能しません。これは、DEV1 と DEV2 がそれぞれ独自の接続文字列を持つ独自のデータベースを指しているためです (環境変数を手動で設定し続ける必要はありません)。これはエラーが発生しやすいためです)。
また、もう 1 つの要件は、DEV1 環境と DEV2 環境の間でパッケージを自由にコピーする必要があり、パッケージ変数などをリセットするためにパッケージを編集する必要がないことです (たとえば、変数のいくつかは、それぞれの環境のデータ ファイル/フォルダーを指すパスを保持します)。 )。
開発環境には SQL Server/BIDS 2008 R2 を使用しています...
私が試してうまくいかなかったもの:
(1) XML 構成ファイル - XML ファイルへのパスがハードコーディングされているため、XML 構成ファイルを使用するパッケージを DEV1 から DEV2 にコピーすると、DEV1 XML ファイルが DEV2 環境で使用されます。よくありません!
(2) SQL Server 構成 - SQL Server 構成テーブルへの接続文字列もパッケージにハードコーディングされているため、DB 構成を使用するパッケージを他の環境にコピーすると、間違った構成が使用されます。良くない!
(3) /CONFIG フラグと /COMMAND フラグを指定したバッチ ファイルを使用してパッケージ変数に値を割り当てようとしましたが、2008 R2 では設計時の変数がコマンド ライン パラメータを上書きすることがわかりました。
(4) 使用したい環境値でフラット テキスト ファイルを作成し、基本的な C# コードを使用してファイルを読み込もうとさえしましたが、絶対パスを指定しないとうまくいきません。パッケージの変数値を編集することなく、環境間でパッケージをコピーできるようにする目的。絶対パスを除外すると、「System.IO.FileNotFoundException: ファイル 'C:\Documents and Settings\\DBConfiguration.txt' が見つかりませんでした」という例外が発生します。
私はここ数時間これに取り組んでいるので、四角い目を開発し、本当に明らかなことが欠けている可能性が非常に高いです.
確かに、それぞれが独自のデータベースを指している複数の SSIS 環境を取得して、同じ PC で同時に実行することに成功した人がいるに違いありません。
前もってありがとう、DJ