web-dev-qa-db-ja.com

SSIS構成ファイルから接続文字列を動的に設定する方法

SQL Server Business Intelligent Development StudioでSQL Server Integration Services(SSIS)を使用しています。

次のようなタスクを実行する必要があります。ソースデータベースから読み取り、それを宛先フラットファイルに配置する必要があります。ただし、同時にソースデータベースを構成する必要があります。

つまり、OLEDB接続マネージャーでは、接続文字列が動的に変更される必要があります。この接続文字列は、configuration/XML/flatファイルから取得する必要があります。

変数と式を使用して接続文字列を動的に変更できることを読みました。しかし、config/XML/flatファイルから接続文字列値を読み取り、変数を設定するにはどうすればよいですか?

この部分はできません。これはこれを達成する正しい方法ですか? web.configファイルをSSISプロジェクトに追加できますか?

40
SNA

最初に変数をSSISパッケージ(パッケージスコープ)に追加します-FileName、OleRootFilePath、OleProperties、OleProviderを使用しました。各変数のタイプは「string」です。次に、構成ファイルを作成します(各変数の選択-値)-構成ファイルに値を入力します-例:OlePropertiesの場合-Microsoft.ACE.OLEDB.12.0; OlePropertiesの場合-Excel 8.0; HDR =、OleRootFilePath-Excelファイルのパス、FileName-FileName

接続マネージャーで-[プロパティ]-> [式]-> [接続文字列式]を動的に設定します。例:

 "Provider =" + @ [User :: OleProvider] + "Data Source =" + @ [User :: OleRootFilePath] 
 + @ [User :: FileName] + "; Extended Properties =\"" + @ [User :: OleProperties] + "NO \" "+"; "

このように、変数値を設定して構成ファイルで変更すると、接続文字列が動的に変更されます-これは、特に開発環境から本番環境への移行に役立ちます。

30
Lekha Mathew

いくつかのオプション:

  1. パッケージを実行する前に、 Execute Package Utility を使用してデータソースを変更できます。

  2. [〜#〜] dtexec [〜#〜] を使用してパッケージを実行し、/ CONNECTIONパラメーターを渡すことで接続を変更できます。おそらくバッチとして保存するので、次回はすべてを入力して必要に応じてデータソースを変更する必要はありません。

  3. SSIS XML パッケージ構成 ファイルを使用できます。 ウォークスルー です。

  4. データベーステーブルに構成を保存できます。

26
Darnell

パッケージ構成と呼ばれる、使用する必要があるメカニズムの背景を次に示します。 Integration Servicesパッケージ構成を理解する 。この記事では、5種類の構成について説明しています。

  • XML構成ファイル
  • 環境変数
  • レジストリエントリ
  • 親パッケージ変数
  • SQLサーバー

接続マネージャーで構成をセットアップする手順を次に示します。 SQL Server Integration Services SSISパッケージ構成 -これには環境変数を使用していることを認識しています接続文字列(素晴らしいアイデアではありません)ですが、基本はXMLファイルを使用する場合と同じです。そのウォークスルーで変更する必要がある唯一のステップは、構成タイプとパスです。

10
Todd McDermid

「パッケージのプロパティ」->「構成」->「パッケージ構成の有効化」->「追加」->「xml構成ファイル」->「dtsconfigファイルの指定」->「次へ」をクリックしますしたがって、finishパッケージが構成されます。

このプロセスでも環境変数を追加できます

2
Sangeetha Bolla

これらの答えは正しいですが、古いものであり、Depoloyement Package Model。私が実際に必要なのは、サーバー名、接続マネージャーのデータベース名を変更することであり、これは非常に役立ちました:

https://www.youtube.com/watch?v=_yLAwTHH_GA

SQL Server 2012-2014-2016を使用している人にとっては... Deployment Project Model

0
Khalil Liraqui