这很简单,但我不能让它工作,我在很多地方读了很多解决方案,但对我没什么用。我怎么能做到这一点?
注意
我在代码中添加了一个断点并运行整个包,但它仍然无效。
答案 0 :(得分:28)
脚本组件不支持使用断点。因此,您无法单步执行代码并在程序包运行时检查值。您可以使用以下方法监视脚本组件的执行
使用MessageBox.Show()
中的System.Windows.Forms namespace
方法中断执行并显示模态消息。 (完成调试过程后删除此代码。)
提升信息性消息,警告和错误的事件。 FireInformation,FireWarning和FireError方法在Visual Studio“输出”窗口中显示事件描述。但是,FireProgress方法,Console.Write方法和Console.WriteLine方法不会在“输出”窗口中显示任何信息。来自FireProgress事件的消息显示在SSIS设计器的“进度”选项卡上。
http://microsoft-ssis.blogspot.com/2011/04/breakpoint-does-not-work-within-ssis.html
答案 1 :(得分:6)
我的问题是使用64位运行时 - 我在输出中注意到以下消息“在64位版本的Integration Services运行时下运行时无法调试脚本任务”。
通过运行32位运行时(例如暂时),可以轻松解决这个问题,如here所述。
答案 2 :(得分:5)
断点仅适用于脚本任务而非脚本组件
答案 3 :(得分:1)
我知道MS Blog说断点在脚本中不起作用,但MSDN似乎表明它们确实存在。您是否尝试过按照MSDN上的说明进行操作?
答案 4 :(得分:-1)
对于SSIS 2008,您只能调试脚本任务而不是Joost已经注意到的脚本组件,我已经成功使用
Trace.Writeline("SSIS .....");
然后我用来自https://docs.microsoft.com/en-us/sysinternals/downloads/debugview的好的Dbgview.exe捕获此输出。我设置了Edit-> Filter-> Include SSIS *然后如果您要将其保留在桌面上,请将Debug View History Depth设置为99999,否则它将填满没有大小限制的日志!