C# SSIS脚本组件关闭读取器
我的SSIS脚本组件有问题。在我的CreateNewOutputRows方法得到它之前,我的阅读器似乎已经关闭了。有人能帮我吗C# SSIS脚本组件关闭读取器,c#,ssis,script-component,C#,Ssis,Script Component,我的SSIS脚本组件有问题。在我的CreateNewOutputRows方法得到它之前,我的阅读器似乎已经关闭了。有人能帮我吗 OdbcConnection odbcConn; OdbcCommand odbcCmd; OdbcDataReader odbcReader; public override void PreExecute() { base.PreExecute(); using (odbcConn = new OdbcConnection(this.Connect
OdbcConnection odbcConn;
OdbcCommand odbcCmd;
OdbcDataReader odbcReader;
public override void PreExecute()
{
base.PreExecute();
using (odbcConn = new OdbcConnection(this.Connections.InformixODBC.ConnectionString))
{
odbcConn.Open();
string cmdText = Variables.INFORMIXQUERY;
cmdText = cmdText.Replace("{{START_DATETIME}}", "'" + Variables.STARTDATETIME + "'");
cmdText = cmdText.Replace("{{END_DATETIME}}", "'" + Variables.ENDDATETIME + "'");
odbcCmd = new OdbcCommand(cmdText, odbcConn);
odbcReader = odbcCmd.ExecuteReader();
}
}
这就是我目前设置阅读器的方式。我通过了,它似乎退出了PreExecute方法,进入了CreateNewOutputRows方法,但我无法执行任何AddRow调用,因为读卡器已关闭
任何帮助都将不胜感激。谢谢 读卡器是通过您的连接连接的。一旦using语句超出范围,连接就被处理掉,瞧,您的阅读器现在与源断开了连接 相反,您需要在预执行中将结果加载到DataSet/DataTable中,然后随时枚举结果 或者将预执行逻辑推送到CreateNewOutputRows方法中 用于使用ResultSet和填充数据集的MSDN链接