enter image description here我需要为从表中获得的每条记录执行一个c#代码
我在SSIS中使用for each循环容器传递这些记录。它为每条记录调用脚本任务。
在脚本任务中,我有一个c#代码,它执行一些逻辑并将结果加载到另一个表中。
当我这样做的时候,我可以看到所有的数据加载到表中的速度更快。但是整个过程并没有完成。包需要2小时的时间才能显示成功。
这可能是什么原因呢?我们如何解决这个问题?
当记录插入到表中时,我尝试关闭每个记录的db连接。
SqlConnection conn = new SqlConnection(connectionString);
string query = "insert into [TEMP_PRE_STG](id,addressType,country,STATUS) values(id,@addressType,@country,@STATUS)";
SqlCommand cmd = new SqlCommand(query, conn);
cmd.Parameters.AddWithValue("@ZGPFTGID", Dts.Variables["User::hid"].Value);
cmd.Parameters.AddWithValue("@addressline", address);
cmd.Parameters.AddWithValue("@group1", Dts.Variables["User::group1"].Value);
cmd.Parameters.AddWithValue("@group2",
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
将数据加载到表中后,包应该完成得更快。
发布于 2019-10-02 13:14:09
问题已解决。我已经创建了一个dataflowtask,并且在该脚本中调用了组件。这提高了性能。
https://stackoverflow.com/questions/57409830
复制