数据流

时间:2017-03-02 13:44:30

标签: sql-server excel variables ssis filepath

在项目开始时,我使用Scope size Package创建了3个变量:

enter image description here

然后我创建了一个SQL EXECUTE TASK

enter image description here

在SQL SERVER上检查此查询返回:

enter image description here

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

enter image description here

现在在SSIS,我检查了两种方式 64位调试为true和false。但是当其为假时,其余的执行工作,因此我将其更改为false并保存它。

enter image description here

这是项目流程:

enter image description here

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

enter image description here

如何解决此错误。这花了我一整天,但我仍然无能为力。我是SSIS的新手。将不胜感激。

编辑:

请参阅SQL EXECUTE TASK的结果集:

enter image description here

3 个答案:

答案 0 :(得分:5)

我注意到DelayValidation中的FalseExcel Connection String

您必须为DelayValidation=TRUE和使用Excel连接的Excel Connection String设置Data Flow Task

希望这会帮助你。

答案 1 :(得分:4)

经过多次努力,我已经解决了这个问题,但我非常感谢那些给我一些关于这个工具的额外知识的人,他们的一些指导必须在某些方面起作用,因为我设置了我的相应的事情。

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

1)在包属性中,在Execution下设置DelayValidationTrue。之后:

(上面,Viki通过将属性DelayValidation设置为True来帮助我,但在Excel Connection Manager中将其设置为重要。)

答案 2 :(得分:3)

在表达式(或其中任何部分)中构建 ExcelFilePath 时,请确保"组合"变量包含到达文件的完整路径,否则您将无法打开excel源,因为它找不到文件。(在运行时应该没问题。)

其次可能是原始文件中使用的值在"新文件/下一个文件"中不一样。意思是excel想要将列从Unicode转换为双精度浮点数等。

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

IMEX = 1

喜欢" *; HDR = YES; IMEX = 1 &#34 ;;

这可能有助于这些类型的混合列,其中包含数字和alpha值(导致转换问题)。

HTH