我在SSIS(Integration Services)中创建了一个小包,在我的控制流中,我有几个脚本任务和一些数据流将XML文件中的数据读入数据库。
我在内置的Visual Studio编辑器的脚本任务中对C#代码进行了一些编辑,然后点击“保存”。文件名下的星号消失,表示文件已保存。我关闭了Visual Studio编辑器,保存了包,右键单击了脚本任务并选择了#34;执行任务"。它运行没有错误,但它应该创建的XML文件永远不会出现,所以我再次在Visual Studio编辑器中打开脚本,而我的恐怖只有默认脚本(例如,只有主要方法,它只包含Dts.TaskResult = (int)ScriptResults.Success;
声明)!
我无法找到该脚本任务中的代码,当我在文本编辑器中打开.dtsx文件时,我的代码消失了!但是,其他脚本任务中的代码就在那里。
我正在小心注意,所以在关闭编辑器并保存包之前,我没有错误地删除所有内容。
所以我的问题是:是否有其他人遇到过这个完全疯狂的错误,并且有办法恢复代码;或者我只需咬紧牙关并从记忆中重新创建它?
我们很少在这些SSIS作业中使用任何大量的C#代码,因此我们没有任何集成的VCS。我一直在将代码复制到一个新文件并手动将其添加到我自己的Git仓库中,只是为了安全起见,但我还没有使用这个特定代码完成它。
我只需要重温我对Visual Studio中这样一个非常糟糕的错误的沮丧......
答案 0 :(得分:2)
我遇到了类似的问题。它是可重复的。代码存在于foreach容器内的脚本任务中。您可以进入并查看代码以确认它是否存在以及为read和readwrite设置的变量。接下来转到foreach(父容器)并更改变量映射。回到脚本任务,代码消失了。我甚至简单地说它没有在脚本任务中使用变量而只是放入一些注释。它仍然会发生并恢复为默认代码。