sql-server - 尝试通过 DTExec.exe 运行 SSIS 包时出现 Appcrash Kernelbase.dll 错误

标签 sql-server ssis 32bit-64bit crash dtexec

我最近在尝试运行调用多个子包的主父 SSIS 包时遇到了一个问题。我还没有找到有关此确切问题的帖子,因此我想分享一下我认为如何解决该问题的方法。这是尝试运行包时会发生的错误:

enter image description here

因此,在研究了这个问题之后,我相信原因是什么,是我试图在我们的一个较低环境中的 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/

相关文章:

sql - 在 SQL Server 中,什么是最有效的方法来确定我的数据在一个月中的哪个工作日和哪个星期

asp.net - 无法更改 SSIS DTSX 包中的连接字符串

sql-server - 登录时SSIS写入窗口用户名而不是服务帐户

sql-server - 使用 Case 或 Join 的 TSQL Select 语句

c# - SQL CLR中的存储过程

sql - 在MSSQL中模拟group_concat,列名不明确?

32bit-64bit - 来自 Windows 7 上的 64 位应用程序的 32 位文本驱动程序(Microsoft Access、Microsoft Excel 和文本文件)

sql - SSIS 日期函数

c++ - 机器类型(C++ 库): i386 vs x86_64

c - 从 32 位机器发送数据包并在 64 位机器上接收