我有一个dtsx文件,它处理超过200个表导出和脚本,在完成每个表的导出之前和之后记录信息。我正在尝试更改日志记录以包含更多详细信息,打开逐个日志脚本对象,单击编辑并进行更改是一个耗时的过程。我用regex在notepad ++中打开了dtsx文件,我通过添加更多日志信息更新了脚本文本。但是当我运行SSIS时,我的更改不起作用。
当我在visual studio 2013中打开修改后的dtsx文件时,双击日志脚本对象,单击编辑,然后在所有日志对象上添加空格保存,然后我的更改生效。
我比较了这两个文件(其中一个是从视觉工作室的notepad ++中修改过的),除了一些GUID差异和我的新空间字符没有变化。当我在notepad ++中制作时,为什么我的更改无效?我错过了什么吗?
答案 0 :(得分:1)
出色!根本问题就像你对C#类文件进行了更改一样,在你编译之前,这些更改不会反映在应用程序中。这就是这里发生的事情,你已经改变了源代码SSIS包的脚本,但您需要将该脚本编译为字节代码,以便实际运行。
2005年发布的SSIS允许我们指定是否应该在运行时编译代码而不是设计时间,但是在2005年的生命周期的某个时刻根本不能很好地编写代码,这种能力是固定不变的代码必须在设计时设置。
我认为我已经看过编译脚本任务/组件的代码,但是这是否在SO或其他地方是一个谜。我相信Matt Mason表示在2005/2008和2012+之间的编制方式有所变化,但我找不到帖子。有this post可能会给你一个正确方向的推动,你需要使用哪些类来编译包。