我最近在尝试运行调用多个子包的主父 SSIS 包时遇到了一个问题。我还没有找到有关此确切问题的帖子,因此我想分享一下我认为如何解决该问题的方法。这是尝试运行包时会发生的错误:
因此,在研究了这个问题之后,我相信原因是什么,是我试图在我们的一个较低环境中的 64 位服务器上运行 SSIS 包,以及主父级调用的一些子包包将从 MS Access 数据库文件中读取,该文件是 32 位的。因此,为了解决这个问题,我发现这个网站非常有帮助:
...从那里我意识到我需要在 .bat 文件中包含一个“/x86”开关,该文件调用我的主包来运行,如下所示:
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%
无论如何,我想将其发布到某个地方,以便它可以帮助可能遇到此问题的人。
谢谢!
最佳答案
我想提供此错误的更新。事实证明,这不仅仅是在 bat 文件中添加“X86”开关的问题,而且 Dev 和 Int 服务器实际上内存和处理器不足。我们最终不得不添加额外的两者,幸运的是,通过提供额外的资源和处理能力,它似乎已经解决了这个问题。
关于sql-server - 尝试通过 DTExec.exe 运行 SSIS 包时出现 Appcrash Kernelbase.dll 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49183512/