当我通过命令行执行dtsx包时,我触发了以下错误说
1.找不到连接,当找不到特定的连接元素时,连接集合会抛出错误
2.无法解析包“xxxxxxx”中对象的包路径。验证包路径是否有效
3.包路径引用了无法找到的对象,当尝试解析无法找到的对象的包路径时会发生这种情况
但是当我通过商业智能开发工作室运行包时,这种方法很好。
答案 0 :(得分:32)
在我等待评论的答案时猜测一下,通常当一个程序包在BIDS中正常运行但从命令行不起作用时,我发现它与64/32位不兼容有关。
您使用Excel,Access或工作表下使用JET驱动程序的任何其他内容吗?这只适用于32位模式。
在64位操作系统上,默认情况下,在创建新的ODBC连接时,您将在64位命名空间中创建它,32位版本将无法访问该命名空间?
您使用的是Informix或UDB / DB2驱动程序吗?我只发现了32个版本。
dtexec是运行SSIS包的命令行机制。它有两种版本,适用于64位操作系统,两者都命名为dtexec
,通常在Windows路径环境变量中引用32位
在64位操作系统上,64位的默认路径为"c:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"
仍然在64位操作系统上,32版本的路径为"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"
要运行位于C:\ Src \ MyProject \ MyProject中的名为FooBar.dtsx的包,调用将是
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx
如果该软件包存在于MyProject文件夹中的SQL Server(DEVSQL01)上,则这将是运行相同软件包的调用。
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /SQL \MyProject\FooBar /SERVER DEVSQL01
编辑
要应用配置,您需要指定/CONF
选项
"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx /CONF C:\FooBar.dtsConfig
看看你的评论,我们的用法之间的唯一区别是你用双引号包装了所有内容。尝试没有前面和后面的引用。
答案 1 :(得分:1)
在文本下方键入以调用SSIS包
dtexec / f / set \ package.variables [Variable];值
示例: - dtexec / f E:\ test_package \ test_package \ Package.dtsx / set \ package.variables [id]; 1
答案 2 :(得分:0)
/ SQL选项适用于部署到MSDB的软件包 - >服务器名\ StoredPackages \ MSDB \