Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 如何调试SSIS中的脚本组件_Visual Studio 2008_Sql Server 2008_Ssis - Fatal编程技术网

Visual studio 2008 如何调试SSIS中的脚本组件

Visual studio 2008 如何调试SSIS中的脚本组件,visual-studio-2008,sql-server-2008,ssis,Visual Studio 2008,Sql Server 2008,Ssis,这很简单,但我无法让它发挥作用,我在很多地方读到了很多解决方案,但没有一个对我有效。我怎样才能做到这一点 注意 我在代码中添加了一个断点并运行了整个包,但它仍然不起作用。脚本组件不支持使用断点。因此,在包运行时,不能单步执行代码并检查值。您可以使用以下方法监视脚本组件的执行 使用System.Windows.Forms命名空间中的MessageBox.Show()方法中断执行并显示模式消息。(完成调试过程后删除此代码。) 引发信息性消息、警告和错误的事件。FireInformation、Fire

这很简单,但我无法让它发挥作用,我在很多地方读到了很多解决方案,但没有一个对我有效。我怎样才能做到这一点

注意


我在代码中添加了一个断点并运行了整个包,但它仍然不起作用。

脚本组件不支持使用断点。因此,在包运行时,不能单步执行代码并检查值。您可以使用以下方法监视脚本组件的执行

使用
System.Windows.Forms命名空间中的
MessageBox.Show()
方法中断执行并显示模式消息。(完成调试过程后删除此代码。)

引发信息性消息、警告和错误的事件。FireInformation、FireWarning和FireError方法在Visual Studio输出窗口中显示事件描述。但是,FireProgress方法、Console.Write方法和Console.WriteLine方法在输出窗口中不显示任何信息。来自FireProgress事件的消息显示在SSIS设计器的“进度”选项卡上


我知道微软的博客说断点在脚本中不起作用,但似乎表明它们起作用。您是否尝试过按照MSDN上的说明操作?

断点仅在脚本任务中工作,而不在脚本组件中工作

我的问题是使用64位运行时-我在输出中注意到以下消息“在64位版本的Integration Services运行时无法调试脚本任务”


如前所述,通过运行32位运行时(例如临时)可以很容易地解决这一问题。

对于SSIS 2008,您只能调试脚本任务,而不能调试脚本组件,正如Joost所指出的,我已经成功地使用了

Trace.Writeline("SSIS .....");

然后,我将从中使用良好的ol Dbgview.exe捕获此输出。我设置了Edit->Filter->Include SSIS*,如果你想把它放在桌面上,那么就把Debug View History Depth设置为99999,否则它会无大小限制地填满日志

脚本任务支持在调试期间使用断点,但脚本组件不支持断点检查:将SSIS项目更改为允许32位调试后,我可以使用断点调试脚本任务。不过,代码中应该包含有关引发错误的信息。调试SSIS脚本组件仅在SSIS 2012上可用。在2008年--只有脚本任务可以调试。如果您在2008年,则不能!我假设否决票是因为我说过不能调试脚本组件(只调试任务)。如果你在VS2008中,这是正确的。我知道在2012年你可以调试它们了。