VS2017 SSIS并行处理错误(?)

时间:2018-08-15 11:41:50

标签: sql-server ssis parallel-processing

我正在尝试运行并行进程以将Excel文件读入OLEDB目标。但是,在运行时,SSIS只是停止并指出以下状态就不会显示错误:

“包执行完成。单击此处以切换到设计模式,或从“调试”菜单中选择“停止调试”。

没有在并行进程中插入任何行,并且在消息列表中找不到此“完成”的根本原因。我提供了一个屏幕截图作为示例:

SSIS runtime 'completion error'

MaxConcurrentExecutables设置为5,Run64Bit属性设置为True(False不变),而EngineThreads属性设置为1。

有人可以帮助解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

SSIS无法同时读取同一文件。是的,您遇到了锁定问题。

解决方案是使用一个数据连接和一个数据流。在数据流中,从文件中读取,然后添加一个多播,这将使您可以重复多次。从那里,将两个数据流中发生的任务合并为一个。

最终结果是您将只有一个数据流;一个数据源;一个多播;两个数据管道,您可以在其中进行一些转换;和两个数据目标。

答案 1 :(得分:0)

我不确定这是否成立,但我认为我知道失败的原因。

之所以突然“停止”执行,可能是由于SSIS一旦从Excel文件读取以导入数据,就会“锁定” Excel文件。第二个Data Flow Task打开或访问该文件,因为Data Flow Task已经打开了该文件。参见下图。SSIS problem

如果有人可以确认这一点,将不胜感激!