我试图通过在数据流任务的PreExecute事件的Execute SSIS Tasl中运行以下查询来动态设置我的SSIS Default Buffer Max Rows属性:
SELECT
SUM (max_length) [row_length]
FROM sys.tables t
JOIN sys.columns c
ON t.object_id=c.object_id
JOIN sys.schemas s
ON t.schema_id=s.schema_id
WHERE t.name = 'TableName'
AND s.name = 'SchemaName'
我试图通过引用System :: TaskName变量来巧妙地使用我的数据流任务的名称(与我的目标表名称相同)作为我的执行SQL任务中的参数。
问题是,一切似乎都正确验证了,但是在执行过程时,PreExecute失败了。
我发现这是因为System :: TaskName在Execute以外的任何地方都不可用。
除了转储一堆手动将变量手动更改为流程的脚本任务之外,是否还有其他可用的变量/方法?
谢谢,
丹尼尔
答案 0 :(得分:1)
找到答案,
我使用过System :: SourceName
丹尼尔