如何从 Excel VBA 运行 SSIS 包

Posted

技术标签:

【中文标题】如何从 Excel VBA 运行 SSIS 包【英文标题】:How to Run SSIS package from Excel VBA 【发布时间】:2018-09-06 09:32:32 【问题描述】:

我有以下代码从 VBA 运行 SSIS 包。它在没有参数的情况下运行。 如果我传递参数它不起作用。 我的代码如下:

    Dim Command As String
    Dim Rsvr As String
    Rsvr = "MYVALUE"

Command = "dtexec /f ""mypath\Package.dtsx /set 
           \package.variables[User::myvalue].Value"" & Rsvr"

Call Shell(Command, 0)

请指教

谢谢

【问题讨论】:

调试时,调用前Command的值是多少? 我需要从 excel 宏中设置变量值,这是我的要求。如果我对 Package 中的值进行硬编码,那么它正在运行,但我想使用我的变量作为参数。 【参考方案1】:

我认为引号有问题。

它可能是这样的:

Dim Command As String
    Dim Rsvr As String
    Rsvr = "MYVALUE"

Command = "dtexec /f ""mypath\Package.dtsx /set 
           \package.variables[User::myvalue].Value""" & Rsvr

Call Shell(Command, 0)

【讨论】:

以上是关于如何从 Excel VBA 运行 SSIS 包的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个 SSIS 包,该包循环使用名称中包含特定关键字的 excel 文件?

从 SQL 代理运行时 SSIS 脚本任务失败

如何使用 SSIS 运行 s-s-rS 报告?

SSIS 包 DataFlowTask for Excel Import to SQL Server 2014 在我的本地实例上运行,但在服务器上部署失败

使用动态变量创建 SSIS 包

动态执行从 SSIS 到 SSMS 中不同表的不同表结构的 Excel 包工作表?