SSIS 2008 SQLCommand字符限制

时间:2016-03-16 12:09:32

标签: ssis sqlcommand ssis-2008

我需要能够连接来自两个不同来源的各种数据集。由于涉及的某些表的大小,我无法将整个表拉入工作文件。为了将数据仅限于相关记录(基于客户编号),我首先查询一个数据集以获取客户编号列表,填充对象变量,然后通过脚本任务解析此变量以创建字符串。该字符串将保存到另一个变量中,然后在数据流任务的SQLCommand表达式中使用该变量。

它正在工作,但我的问题是我可以构建一个字符串多长时间并传入表达式?根据我收集的内容,表达式的字符限制为4000个字符。一旦表达式解析了"这就是SQL代码和存储在字符串变量中的文本,这是否意味着总字符数?或者仅限于表达式生成器框中的文本?

以下字符串是我的表达方式。这个文本限制为4000个字符吗?或者是这个文本加上变量中存储的任何文本?或者它只是变量中的内容?

" SELECT SOURCE_CUSTOMER_ID,SOURCE_SYSTEM,UNIVERSAL_CUSTOMER_NUMBER,RELATED_SOURCE_SYSTEM,RELATED_CUSTOMER_ID 来自CDBDATA.CSISRCUCN 在哪里SOURCE_SYSTEM =' BCOE' AND SOURCE_CUSTOMER_ID IN(" + @ [User :: parmBCOEListString] +")"

" SELECT CDCD_CUSTOMER_NUMBER,CDCD_FIRST,CDCD_LAST 来自BCOEDATA.BCCDCDLA 在哪里CDCD_CUSTOMER_NUMBER IN(" + @ [User :: parmBCOEListString] +")"

" SELECT CDHD_Customer_Number,CDHD_EMAIL_1,CDHD_EMAIL_2 来自BCOEDATA.BCCDHD WHERE CDHD_Customer_Number IN(" + @ [User :: parmBCOEListString] +")"

" SELECT VIP_CUST_NO,VIP_TEST_FLAG 来自BCOEDATA.VIPFILE 在哪里VIP_CUST_NO IN(" + @ [User :: parmBCOEListString] +")"

" SELECT U.UNIVERSAL_CUSTOMER_NUMBER,sum(CDCL_CY_DOLLARS)为CYTotal,sum(CDCL_PY_DOLLARS)为PYTotal 来自BCOEDATA.BCCDCL C INNER JOIN CDBDATA.CSISRCUCN U ON C.CDCL_CUSTOMER_NUMBER = U.SOURCE_CUSTOMER_ID和U.SOURCE_SYSTEM =' BCOE' 在哪里CDCL_CUSTOMER_NUMBER IN(" + @ [User :: parmBCOEListString] +") GROUP BY U.UNIVERSAL_CUSTOMER_NUMBER"

" SELECT AB_ADDRESS_NUMBER,AB_ADDRESS_LINE_1,AB_ADDRESS_LINE_2,AB_ADDRESS_LINE_3,AB_ADDRESS_LINE_4,AB_ADDRESS_LINE_5,AB_STATE,AB_ZIP_CODE_POSTAL 来自BORDDTA.F0101LA 在哪里AB_ADDRESS_NUMBER IN(" + @ [User :: parmAccountListString] +")"

0 个答案:

没有答案