【问题标题】:Debug SSIS package with parameters/ Arguments使用参数/参数调试 SSIS 包
【发布时间】:2014-04-30 08:09:16
【问题描述】:

我希望你们中的一个可以帮助我解决以下问题。

问题: 从 Visual Studio/BIDS 中运行包时,是否可以将命令行参数传递给包?

我想通过命令行设置变量的值,发现可以在 DtExec 中使用“/set \Package.Variables[...].Value;...”语法来设置。 根据文档,您应该能够通过 VS 中 SSIS 项目的“属性”对话框中的 'CmdLineArguments' 属性传递相同的参数

  1. 右键单击您的项目(确保您在项目而不是包上执行此操作)
  2. 点击属性
  3. 然后转到您的调试部分

    (CmdLineArguments 将使用指定的命令行参数运行包,但不幸的是,这似乎不起作用(即使使用 DtExec 或 DtExecUI 在外部运行包时完全相同的参数确实有效)

这使得调试这个包对我来说是一场噩梦...... :-/ 我在 MSDN 上发现了一个帖子,声称这在 IDE 中不起作用...... 有没有人有这方面的经验? 这是一个错误吗? 任何解决方法?

【问题讨论】:

    标签: ssis command-line-arguments ssis-2008 project-properties


    【解决方案1】:

    您将无法在 Visual Studio\BIDS 中使用 CmdLineArguments。这个 CmdLineArguments 主要用于其他开发项目,如 Windows/Console。

    当您在 Visual Studio\BIDS 中调试时,它不会运行 dtexec,其中参数特定于运行具有特定参数的包。

    对于测试,您只需在包变量中设置一个值。测试您的软件包并确保一切正常。

    然后您可以将值传递给包变量并使用 Dtexec 替换默认值。

    /SET \package.Variables[User::param].Value;"测试字符串"

    【讨论】:

      【解决方案2】:

      您是否尝试过创建一个由表达式填充的变量来反映属性设置?然后你可以在调试器中为它设置一个监视。

      【讨论】:

      • 我要检查的是参数是否正确传递给包,然后由脚本组件使用。将它们放在变量中直接违背了此测试的目的。
      • 出于调试目的,您可以使用变量。然后在您对自己的包有效时删除它们。
      猜你喜欢
      • 1970-01-01
      • 2017-01-27
      • 2019-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      • 2023-03-16
      • 2017-06-23
      相关资源
      最近更新 更多