我想知道SSIS字符串变量的大小限制是多少。我有一个OLE DB数据源,它查询列(字母数字10位)值并将结果集提供给脚本任务,然后脚本任务创建一个基于集合的删除sql语句(即DELETE FROM Table其中ID IN(“所有id都转到这里“)并将sql语句分配给一个字符串变量,第三个任务(执行sql)然后从变量执行sql。我想知道我是否在IN子句中获得10,000个值会导致任何问题字符串变量?请告知
答案 0 :(得分:3)
对字符串变量大小没有限制.SSIS数据类型派生自。net
子系统,如果你有一个非常大的字符串值,那么你可能会耗尽内存
答案 1 :(得分:0)
一种可能的解决方案是将ID放入目标数据库的临时表中,然后可以使用临时表和要从中删除的表之间的联接来执行DELETE语句。
或者,您可以重写语句:DELETE FROM Table WHERE ID IN(SELECT ID FROM TempTable)