数据stream中的SSISvariables使用问题

在项目开始时,我使用Scope size Package创build了3个variables:

在这里输入图像说明

然后我创build了一个SQL EXECUTE TASK

在这里输入图像说明

在SQL SERVER上检查这个查询返回:

在这里输入图像说明

将EXCEL源设置为将获取文件位置的variables:

在这里输入图像说明

现在在SSIS上,我检查了双方64位debugging为真和假。 但其余的执行工作,当它是假的,因此我把它改回到假,并保存它。

在这里输入图像说明

这是项目的stream程:

在这里输入图像说明

每当我执行,它给我这个错误:

在这里输入图像说明

如何解决这个错误。 这已经耗费了我整整一天的时间,但我仍然无能为力。 我是SSIS的新手。 帮助将不胜感激。


编辑:

请参阅SQL EXECUTE TASK的结果集:

在这里输入图像说明

我注意到您的Excel Connection String中的DelayValidationFalse

对于Excel Connection String和使用Excel Connection StringData Flow Task ,必须使DelayValidation=TRUE

希望这会帮助你。

经过很多的斗争,我已经解决了这个问题,但是我非常感谢那些给了我一些关于这个工具的额外知识的人,他们的一些指导在某些时候也是有效的,因为我已经设定了相应的东西。

最后我做了什么,这使得它的工作和运行是:

1)在包属性中,在Execution设置DelayValidationTrue 。 如下所示:

(上面,Viki也通过将属性DelayValidation设置为True来帮助我,但在Excel Connection Manager也是如此)。

当在expression式(或其中的任何部分)中构buildExcelFilePath时,确保“variables的组合”包含到达文件的完整path,否则将无法打开Excel源,因为它不find一个文件(在运行时应该没问题)。

其次可能是原始文件中使用的值在“新文件/下一个文件”中不一样。 意思excel想要从Unicode转换列双精度浮动或东西。

尝试在属性窗口的ConnectionString中添加这个。

IMEX = 1

如“*; HDR = YES; IMEX = 1 ”;

这可以帮助这些types的混合列包含数字和alpha值(导致转换问题)。

HTH