あなたはインターネットを検索する場合またはSO connect to SQL database inside Script Task in SSISする方法を次のような.NETのv1.1ishコードあります:私は探しています近代的な方法SSIS 2012年にスクリプトタスク内のSQL Serverに接続し、後で
ConnectionManager cm;
System.Data.SqlClient.SqlConnection sqlConn;
System.Data.SqlClient.SqlCommand sqlComm;
cm = Dts.Connections["ADO.NET.SqlDB"];
sqlConn = (System.Data.SqlClient.SqlConnection)cm.AcquireConnection(Dts.Transaction);
sqlComm = new System.Data.SqlClient.SqlCommand("your SQL Command", sqlConn);
sqlComm.ExecuteNonQuery();
cm.ReleaseConnection(sqlConn);
を後で導入された.NETの機能を有効に活用する最新のコード。
まず、以下のコードについて説明します。これは2012年以降のSSISのScript Task内でSQL Serverに接続するための現在の推奨方法ですか、ここで何か不足していますか?
ConnectionManager cm = Dts.Connections["ADO.NET.SqlDB"];
using (var sqlConn = (SqlConnection)cm.AcquireConnection(Dts.Transaction))
{
if (sqlConn.State != ConnectionState.Open)
sqlConn.Open();
using (var sqlComm = new SqlCommand(
String.Format("UPDATE myTab SET Processed = 4 where ID = '{0}'",
idNumber), sqlConn))
{
return sqlComm.ExecuteNonQuery();
}
}
ReleaseConnection()
はまだ必要ですか? sqlConn.Open()
は本当にSSISコンテキストで必要ですか?
この特定のコードでは、 'sqlConn'は決してまだ開いていません。しかし、それは傷つくことはありません。私はこれがちょっとした事例だと思いますか?これらの例では、スクリプトタスクを使用する理由はなく、代わりにSQLタスクを使用することができます –
もちろん、それは単なる例です。選択、更新、入力などを行う多くの機能を想像してください。 – wp78de
私の経験では、これはSSISスクリプトタスクよりもストアドプロシージャで実装するほうが優れています。 –