2

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

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

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

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

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

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

4

2 回答 2

1

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

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

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

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

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

于 2014-08-01T19:47:51.857 回答
0

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

于 2014-04-30T19:14:03.267 回答