在服务器上手动执行时 SSIS 包 运行s,但从命令行 (dtexec) 运行 时失败
SSIS package runs when executed manually on server, but fails when run from Command Line (dtexec)
我在通过命令行实用程序 dtexec 执行 SSIS 包时遇到问题。我正在 SQL 2012 服务器上实施此过程
(64 位)与 Integration Services 和 Business Intelligence Development Studio (VS)。
该包正在接收一些日志文件,对它们进行一些处理,然后将它们导出到 excel。 (我强制启用了 32 位执行
当 visual studio 中的 运行 或通过单击 package.dtsx 文件并手动执行时,在服务器上 运行 没问题。
当我通过 dtexec 和命令行 运行 时,出现 ACE.OLEDB.12 未注册错误。
这对我来说没有意义,因为我知道我已经安装了驱动程序,并且它运行在具有相同软件包设置的同一台服务器上手动安装。
过去两天我一直在寻找但收效甚微,任何帮助将不胜感激!
错误发生是因为命令行调用了 64 位 DTExec 实用程序,使程序包 运行 处于 64 位 运行 时间模式,但是,只有 32 位 Microsoft ACE 12.0 OLE安装了数据库驱动程序。在BIDS中,包运行s是32位运行时间模式(IS项目的Run64BitRuntime属性需要设置为False),所以包可以执行成功。要解决此问题,您可以在命令行中指定 32 位 DTExec.exe 实用程序,例如:
"C:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\DTExec.exe" /f yourPackagePath
我在通过命令行实用程序 dtexec 执行 SSIS 包时遇到问题。我正在 SQL 2012 服务器上实施此过程 (64 位)与 Integration Services 和 Business Intelligence Development Studio (VS)。
该包正在接收一些日志文件,对它们进行一些处理,然后将它们导出到 excel。 (我强制启用了 32 位执行
当 visual studio 中的 运行 或通过单击 package.dtsx 文件并手动执行时,在服务器上 运行 没问题。
当我通过 dtexec 和命令行 运行 时,出现 ACE.OLEDB.12 未注册错误。
这对我来说没有意义,因为我知道我已经安装了驱动程序,并且它运行在具有相同软件包设置的同一台服务器上手动安装。
过去两天我一直在寻找但收效甚微,任何帮助将不胜感激!
错误发生是因为命令行调用了 64 位 DTExec 实用程序,使程序包 运行 处于 64 位 运行 时间模式,但是,只有 32 位 Microsoft ACE 12.0 OLE安装了数据库驱动程序。在BIDS中,包运行s是32位运行时间模式(IS项目的Run64BitRuntime属性需要设置为False),所以包可以执行成功。要解决此问题,您可以在命令行中指定 32 位 DTExec.exe 实用程序,例如:
"C:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\DTExec.exe" /f yourPackagePath