繁体   English   中英

SSIS包在服务器上手动执行时运行,但从命令行(dtexec)运行时失败

[英]SSIS package runs when executed manually on server, but fails when run from Command Line (dtexec)

我在通过命令行实用程序dtexec实现SSIS包的执行时遇到麻烦。 我正在使用Integration Services和Business Intelligence Development Studio(VS)在SQL 2012服务器(64位)上实现此过程。

该软件包将接收一些日志文件,对其进行一些处理,然后将其导出到excel。 (我已强制启用32位执行

当在Visual Studio中运行时,或者在package.dtsx文件上单击并手动执行时,它可以在服务器上正常运行。

通过dtexec和命令行运行时,出现ACE.OLEDB.12未注册错误。

错误的屏幕截图

这对我来说没有任何意义,因为我知道我已经安装了驱动程序,并且该驱动程序在具有相同软件包设置的同一服务器上手动运行。

在过去的两天里,我一直在搜寻,收效甚微,任何帮助将不胜感激!

发生此错误是因为命令行调用64位DTExec实用程序,该实用程序使程序包在64位运行时模式下运行,但是,仅安装了32位Microsoft ACE 12.0 OLE DB驱动程序。 在BIDS中,程序包以32位运行时模式运行(IS项目的Run64BitRuntime属性应设置为False),因此,程序包可以成功执行。 要解决此问题,您可以在命令行中指定32位DTExec.exe实用程序,例如:

"C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\DTExec.exe" /f yourPackagePath 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM