web-dev-qa-db-ja.com

SSISパッケージのデータベース接続文字列をパラメータ化する方法は?

Business Intellegience Development StudioにSSISパッケージが組み込まれており、ソースデータベースと宛先データベースの両方が指定されています。ここで、いくつかの変数を使用してデータベース接続をパラメーター化し、コマンドラインでパッケージを実行したいと思います。

データベース名とSQLサーバーインスタンスを変数@ [User :: SourceDb]に置き換えようとしています。 @ [User :: SourceHost]が、データベースへの接続に失敗しました。

データベースをパラメーター化することは可能ですか?変数の使用法に問題はありますか?前もって感謝します!

10
Roy

素敵な投稿があります ここ これを行う1つの方法を詳しく説明しています。

ConnectionManagerを使用し、構成パッケージからそのConnectionStringプロパティを設定する必要があります。

ConnectionStringプロパティは、次のような完全修飾データベース接続文字列です。

Data Source=localhost;Initial Catalog=SSISConfig;Provider=SQLNCLI.1;Integrated Security=SSPI;Auto Translate=False;

構成パッケージの使用にはいくつかの落とし穴と煩わしさがありますので、少しいじる必要があるかもしれません。もっと詳しく説明したいのですが、最後にSSISプロジェクトに取り組んでから約1年になります。

特定の問題がある場合は、戻ってきて、ヒットした内容についてコメントしてください。古い思い出を再燃させてみます。

6
David Hall

接続マネージャーで「式」を定義してから、サーバー/データベースに置き換える必要があります。

SSISでは変数を直接使用することはあまりできません

パッケージでの変数の使用」 を参照してください。 パッケージでのプロパティ式の使用 にリンクしています。

そして、簡単なビングルの後: http://sqlrs.blogspot.com/2006/03/using-expression-variables-in-ssis.html

3
gbn

プロジェクトまたはパッケージの任意の接続を右クリックして、接続、プロジェクト、またはパッケージパラメータのすべてのフィールドを「パラメータ化」できます。 OLE .NET Providers(SqlClient Data Provider)タイプへのDB接続では接続文字列が異なるため、注意してください。Project.paramsに接続用の1つの集中型の場所を管理しています。

0
zhrist