당신은 인터넷을 검색 할 때 또는 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 기능을 잘 활용하는 업데이트 된 코드
시작하려면 아래 코드를 참조하십시오. SSIS 2012 및 이후 버전의 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 스크립트 작업보다 저장 프로 시저에서 더 잘 구현됩니다. –