我最近在尝试运行调用多个子包的主父SSIS包时遇到了一个问题。我还没找到一篇关于这个问题的帖子,所以我想我会分享我相信如何解决这个问题。这是尝试运行包时可能发生的错误:
因此,在研究了这个问题之后,我相信原因是我试图在我们较低环境中的64位服务器上运行SSIS包,以及主父母调用的一些子包包将读取MS Access数据库文件,即32位。因此,为了解决这个问题,我发现这个网站非常有用:
...从那里我意识到我需要包含一个" / x86"切换.bat文件,调用我的主程序包运行,如下所示:
REM通过命令行运行DTSX包
pushd D:\SFAS\SSIS\SESDatamart\bin
"C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\dtexec.exe" **/x86** /f "D:\SFAS\SSIS\SESDatamart\packages\MASTER DATAMART.dtsx" /set "\package.variables[User::PriorYears].Properties[Value]";3
popd
REM捕获错误代码并发送到UC4
exit /b %errorlevel%
无论如何,我想在某处发布,以便它可能会帮助可能遇到此问题的人。
谢谢!
答案 0 :(得分:0)
我想提供此错误的更新。事实证明,不只是将“X86”开关添加到bat文件,而且Dev和Int服务器实际上内存和处理器都很低。我们最终不得不增加两者,并且似乎已经解决了这个问题,谢天谢地,它提供了额外的资源和处理能力。