【发布时间】:2019-10-01 07:06:07
【问题描述】:
我有一个 SSIS 包,其中包含一个触发各种信息和警告消息的脚本任务,例如:
Dts.Events.FireWarning(1, taskName, "Common Version API URL not specified", null, 0);
这在我在 SQL Server 2017 中运行的笔记本电脑上运行良好。该消息会根据需要写入执行报告:
但是,当我在使用 SQL Server 2016 的测试环境中部署和运行包时,执行报告没有显示我的任何消息。这可能是由于我不知道的某些设置,还是 SQL Server 2016 中缺少的功能?
【问题讨论】:
-
从服务器获取包到一个新项目——检查脚本任务——它可能是空的。这通常是由于部署脚本时库中的不匹配造成的。查看您要部署到的版本的 \DTS\Binn\ISDeploymentWizard.exe。 (即对于 sql 2016,它是 \130\DTS\Binn\ISDeploymentWizard.exe。如果这是问题但您无法使其正常工作,请告诉我,我会发布更详细的答案。
-
感谢@Dave,但在我的情况下,从测试环境导出的包中脚本的 Main-method 看起来与我的开发环境中的完全相同(此外,脚本还包含其他代码到 FireWarning 声明,效果很好)。如果我比较这两个 .dtsx 文件,会有很多差异,但整个包中的 C# 代码似乎没有改变。 (但是,我确实遇到了一个问题,迫使我直接在 .dtsx 文件中编辑 C# 代码,但我认为这是一个完全不同的故事。)
标签: sql-server ssis etl sql-server-2017 sql-agent-job