3.11 Script和ActiveX任务
Script任务允许用户访问Microsoft Visual Studio for Application(VSA)环境,通过使用VB.NET语言来编写和执行脚本。ActiveX Script任务允许用户继续使用来自SQL Server 2000的旧ActiveX脚本。使用Script任务比使用ActiveX Script任务具有很多关键的优点。以下是Script任务在功能上提供的额外好处:
● 一个具有Intellisense的集成Visual Studio设计环境
● 用户可以更容易地将参数传递给脚本
● 用户可以更容易地将断点增加到代码中
● 用户可以预先将脚本编译成二进制格式来提高执行速度
Script任务可以通过Script Task Editor(如图3-17所示)中的Script页面来配置。你可以通过一个ScriptLanguage选项来选择自己所希望使用的.NET语言,但是在SQL Server的这一版本中只有VB.NET可用。如果PreCompileScriptIntoBinaryCode选项被设置为true,则代码可以显著加速任务的编译和运行。不过,这样做带来的副作用是程序包要比未编译状态时更大。
图 3-17
EntryPoint选项负责设置任务将调用的入口点类。ReadOnlyVariables和ReadWriteVariables选项允许你将SSIS变量传递到脚本中。前者是针对只读的参数,而变量可以写入到后者。使用其中一个选项,可以通过逗号来分隔每个SSIS变量。一旦准备好编写脚本,单击 Design Script。
当单击Design Script时,Visual Studio环境被打开,这可以让用户使用高级的调试手段、断点和Intellisense。以下的例子说明了如何调用传递到脚本中的TaskName系统变量。脚本首先查看变量是否存在,然后弹出一个带有任务名的消息框
任务的执行结果类似于图3-18。
提到脚本编程,我们来看一看ActiveX Script任务。在SSIS中该任务主要是为了向后与SQL Server 2000 DTS兼容。你会发现该任务并不是一个很高级的任务,但是它具有一些优点。和Script任务一样,该任务也是通过编辑器的Script页面来配置。另外,与它在SQL Server 2000中的前任一样,它的Language选项支持比VBScript更多的选项,除了VBScript之外,它可以支持SSIS计算机上安装的各种语言,例如Jscript。EntryMethod选项指定了希望脚本执行的类。单击Script选项旁边的省略号来键入脚本。你也可以单击 Browse来定位脚本文件。
若选择浏览到某个脚本将覆盖在Script选项中已有的脚本。