SSIS脚本任务 - 连接ADO.NET并填充DataTable

joe*_*ter 5 c# sql-server ado.net ssis script-task

我需要通过脚本任务连接到SQL Server数据库以填充a DataTable,我正在使用ADO.Net提供程序/连接.然而,对于我的生活,我遇到了各种各样的错误.例如,当使用SqlAdapter我得到无效的对象错误时,但是SqlCommand在SSMS中执行没有错误:

SqlConnection conn;
ConnectionManager cm;
SqlCommand cmd;

cm = Dts.Connections["AdoNet"];
conn = (SqlConnection)cm.AcquireConnection(Dts.Transaction);

using (conn)
{   
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = conn;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = queryString;
    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = cmd;
    da.Fill(myDataTable);
}
Run Code Online (Sandbox Code Playgroud)

Had*_*adi 3

尝试以下代码:

Using(SqlConnection conn = (SqlConnection)Dts.Connections["AdoNet"].AcquireConnection(Dts.Transaction)){

if (conn.State != ConnectionState.Open){
 conn.Open();}

SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = queryString;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(myDataTable);
}
Run Code Online (Sandbox Code Playgroud)