sql-server – 空字符串导致“在命令行参数中检测到错误,请确保所有参数都设置正确”

在SQL 2016 Server上,我有一个调用SSIS包的作业.该包位于SSISDB中的一个项目中并具有参数.其中一个参数是字符串类型,默认为空.

我使用此参数的空值运行作业,并成功运行.

然后我打开了作业属性,转到调用该包的步骤并进入配置并为该参数赋值.

我再次运行该作业并成功运行,参数值对结果产生了预期的影响.

现在我想修改作业并将参数设置回空字符串.重复上面的操作,我打开配置并完全删除参数的值.

enter image description here

当我然后尝试保存Job Step属性时,我会在主题行中显示一条错误对话框.

如果我为该参数添加了非空值,则可以保存作业步骤.

当我第一次创建作业时,我能够使用空字符串保存该值.只是当我将值更改为非空字符串,运行作业,然后尝试将其更改为空,我遇到此错误.

我知道我可以运行alter job脚本或删除并重新创建作业步骤来解决这个问题.我不知道如何解决这个问题.

我的问题是:这是一个已知的错误,还是有一个技巧,使用GUI将执行参数的值从字符串值更改为空字符串?

你们中的任何人都可以这样做,或者我的问题可以重现吗?到目前为止,我在搜索中找不到任何内容.

编辑:按照Aaron的评论,我尝试输入一对单引号作为参数的值.工作接受并成功保存.但是当我运行这个工作时,这对单引号实际上被用作参数的值,而不是空字符串.

最佳答案
这些问题已在Microsoft Connect网站上发布2次.

>第一次将其标记为已修复,因为用户选择使用变通方法,即传递空白区域,然后从包中删除它. Read more
>第二次将其标记为“无法修复”,因为Microsoft团队正在关注其他问题Read more

MSDN network也提出了类似的问题,并通过一种解决方法解决了这个问题.

所以这似乎是一个软件错误,它还没有解决.您可以使用解决方法.

转载注明原文:sql-server – 空字符串导致“在命令行参数中检测到错误,请确保所有参数都设置正确” - 代码日志