我将问题简化为C#脚本任务中的简单写操作,将当前时间戳记写入C:\ test \中位于同一台计算机上的文本文件中,从而将全部控制权授予所有人。环境是SQL Server 2016,Visual Studio 2015和Windows Server 2016。
如果从文件系统创建SQL Server代理作业,它将按预期更新文本文件。如果将程序包部署到SSISDB中并执行,执行报告将显示所有绿色且成功,而写入操作从未发生。而且我无法在系统日志中找到任何线索。
我将非常感谢以下方面的投入: 1)在此简单测试中可能出了什么问题;和 2)如何获取有关此错误和其他可能问题的更有用的日志信息。
仅供参考,相关问题在发布之前已解决:
SSIS deployed package fails to map drive tag to network shared folder
简单脚本任务中的代码。
public void Main()
{
Dts.TaskResult = (int)ScriptResults.Failure;
try
{
// TODO: Add your code here
using (var writer = new StreamWriter("C:\\test\\simple-write.txt", true, Encoding.Unicode))
{
writer.WriteLine(DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffffffK"));
writer.Flush();
}
Dts.TaskResult = (int)ScriptResults.Success;
}catch(Exception ex)
{
Dts.Events.FireError(0, "Simple-Write-Test", ex.ToString(), String.Empty, 0);
Dts.TaskResult = (int)ScriptResults.Failure;
}
}
答案 0 :(得分:0)
我在以下链接上得到了答案:
最新版本的Management Studio(2017套件)和SQL Server 2016数据库之间似乎存在兼容性问题。部署的软件包中的脚本任务被静默忽略。