6

現在のプロジェクトでは、データベース名が頻繁に変更されるため、毎回 OLE DB ソースを変更したくありません。したがって、変数として設定したいと思います。つまり、各 OLE DB ソースで、それをパラメーターとして使用できます。ただし、SSIS では、データベース名をパラメーターとして転送することは許可されていないようです。では、変更を最小限に抑えるにはどうすればよいでしょうか。

OLE DB ソースで次のような SQL ステートメントを実行したいと考えています。

Select OrderID
  From ?.Order

そして、データベース名が変更されたときに変数を変更するだけです。解決策をありがとう!

4

4 に答える 4

3

パッケージ構成をパッケージに追加し、接続マネージャーのデータベース名を構成の 1 つとして設定する必要があります。

ここに画像の説明を入力

制御フローの空白領域を右クリックし、[パッケージ構成] を選択して、ウィザードに従います。

理解しやすいので、XML 構成から始めることをお勧めします。

于 2012-05-09T09:09:16.963 に答える
0

接続マネージャーで Server\Instance.Database を管理し、タスクまたはアダプター レベルで Schema.Table または View を管理するのが好きです。接続マネージャーの接続文字列を外部化することをお勧めします。パッケージ構成を使用してこれを行うことも、自分で管理することもできます (ConnectionName 列と ConnectionString 列を含むテーブルを使用し、ConnectionString 列を暗号化します)。私の意見では、SSIS パッケージ内にハードコードされたデータベース名はベスト プラクティスではありません。

最近、SSIS 接続管理に関するいくつかのセッションを記録しました。1 つは2005、2008、および 2008 R2です。2012 年の別のまた、SSIS で構成を管理するためのセッションを録音しました(音声は貧弱ですが)。

これらがお役に立てば幸いです。

アンディ

于 2012-05-09T02:10:05.943 に答える