在调试循环数千个文件的 SSIS 包时,执行挂起,没有错误,也没有失败的任务。稍微简化一下,该软件包执行以下操作:
For Each File (a directory full of pdf files, each ranging from 800 -
2000 pages and 3 - 8MB filesize)
* Script Task (get file information)
* File System Task (clear out temp folder)
* Execute Process Task (use pdftk to break file into individual pages)
* For Each File (each page in temp folder, 40 - 100KB each)
* Script Task (parse pdf file)
* Execute Process Task (pdftk to concatenate like pages)
* Execute SQL Task (insert one row into staging table using OPENROWSET)
* File System Task (delete inserted file)
* Script Task (set variables for next iteration)
* Execute SQL Task (execute proc to merge staging into prod)
* File System Task (rename completed file)
当我执行包时(BIDS 中的调试模式),它按预期运行通过第一个文件并进入第二个文件,但最终在内循环的迭代之间挂起。当它挂起时,所有任务都是绿色的,两个循环容器是黄色的。输出窗口确实会生成任何消息,并且通过进程选项卡,每个任务都有匹配数量的启动和停止,除了两个循环和包本身。
我的第一个想法是我超出了 For Each File 枚举器的迭代限制,但我找不到任何关于这种限制的文档。我还可以检查什么来确定 SSIS 停止运行的原因?