【发布时间】:2015-02-06 12:18:22
【问题描述】:
我正在 SSIS(集成服务)中制作一个小包,在我的控制流中,我有几个脚本任务和一些数据流,将 XML 文件中的数据读取到数据库中。
我在内置 Visual Studio 编辑器的脚本任务中对 C# 代码进行了一些编辑,然后点击保存。文件名旁的星号消失,表示文件已保存。我关闭了 Visual Studio 编辑器,保存包,右键单击脚本任务并选择“执行任务”。它运行没有错误,但它应该创建的 XML 文件从未出现,所以我再次在 Visual Studio 编辑器中打开脚本,令我恐惧的是那里只有默认脚本(例如,只有 main 方法,它只包含Dts.TaskResult = (int)ScriptResults.Success;声明)!
我一直找不到我在该脚本任务中的代码,当我在文本编辑器中打开 .dtsx 文件时,我的代码不见了!其他脚本任务中的代码在那里。
我注意了,所以在关闭编辑器并保存包之前,我不可能错误地删除了所有内容。
所以我的问题是:有没有其他人遇到过这个完全疯狂的错误,有没有办法恢复代码?还是我只需要硬着头皮从记忆中重新创建它?
我们很少在这些 SSIS 作业中使用大量 C# 代码,因此我们没有任何集成的 VCS。为了安全起见,我一直在将代码复制到一个新文件中并手动将其添加到我自己的 Git 存储库中,但我还没有使用此特定代码执行此操作。
我只需要重申我对 Visual Studio 中如此严重的错误的失望......
【问题讨论】:
-
不太可能,但在你看来相当于 C:\Users\AlexK\Documents\Visual Studio 2013\Backup Files
-
谢谢,但不幸的是那个文件夹是空的。我还查看了许多其他可能和不太可能的文件夹。我从一开始就假设我运气不好,但我只是想看看是否有人碰巧有解决方案。此外,稍微发泄一下也不错,因为这样的错误令人震惊。
-
我以前也遇到过这种情况,但这只是因为我点击了 CANCEL 而不是 OK 退出脚本任务编辑器。有时令人困惑的是,您同时使用组件编辑器和 Visual Studio 来编辑代码。我建议将大量代码放入它自己的项目中,然后从脚本任务中调用 dll。
-
谢谢你的建议,我下次试试。这里的问题是,是的,我可能在退出脚本任务时点击了
cancel而不是OK,但我所做的更改很小。该脚本任务中的其他代码已经编写了几天并保存了很多次。上次它删除了所有内容并用标准模板替换它。 -
当我不小心在脚本任务编辑器窗口中列出了一个变量两次时,我发生了这种情况。我更正了问题,但是当我单击确定时,它说存在编译错误并询问我是否仍要保存它。我说是的,当我回去的时候,你瞧,除了默认代码什么都没有。我能够重现该问题。
标签: c# sql-server visual-studio-2010 ssis sql-server-data-tools