20

SSIS のスクリプト タスク内で、SQL データベースを呼び出す必要があります。データベースをデータ ソース フォルダーに追加したときに作成された接続文字列がありますが、C# コード内でそれを参照する方法がわかりません。ASP Web サイトのコード ビハインドでこれを行う方法は知っていますが、SSIS にはより直接的な方法が必要なようです。

編集

このコード行は、実際には例外をスローしてしまいます。

sqlConn = (System.Data.SqlClient.SqlConnection)cm.AcquireConnection(Dts.Transaction);

「タイプ 'System._ComObject' の COM オブジェクトをクラス タイプ 'System.Data.SqlClient.SqlConection' にキャストできません。」

4

2 に答える 2

26

次のようなスクリプト タスク内から接続マネージャーの構成を使用することはできません。

スクリプト タスクの「内部」に入ったら、変数のように CM にアクセスする必要があります。

ConnectionManager cm;
System.Data.SqlClient.SqlConnection sqlConn;
System.Data.SqlClient.SqlCommand sqlComm;

cm = Dts.Connections["conectionManager1"];

sqlConn = (System.Data.SqlClient.SqlConnection)cm.AcquireConnection(Dts.Transaction);
sqlComm = new System.Data.SqlClient.SqlCommand("your SQL Command", sqlConn);
sqlComm.ExecuteNonQuery();

cm.ReleaseConnection(sqlConn);
于 2012-08-08T15:21:01.627 に答える