您的位置:首页 > 其它

SSIS常用的包—脚本和组件任务

2011-03-07 11:24 197 查看
脚本任务允许利用Microsoft Visual Studio环境来使用VB.NET语言创建和执行脚本。ActiveX任务允许从SQL Server 2000中执行脚本。与ActiveX任务相比,脚本任务有一些优点。如下列举。

一整套智能设计环境

轻松地向脚本传递参数

轻松地在脚本代码中设置断点

可以以二进制形式预编译脚本

在脚本任务的编辑界面内如图3-17有一个脚本语言选项用来选择编辑语言,对于SQL
Server来说只能选择VB.NET。如果PreCompileScriptIntoBinaryCode选项设置为true,脚本将会编辑并加快任务
运行,这样做的副作用是package将会变大。

      


                          图3-17

EntryPoint选择项用来设定程序入口。ReadOnlyVariables选项和ReadWriteVariables选项允许想脚本中传
递SSIS变量,ReadOnlyVariables表明该变量只读,ReadWriteVariables表明该变量可读写。多个变量之间可以用逗号隔
开。点击Design Script可以编辑脚本。

点击Design Script之后打开Visual Studio环境,在这个环境中可以调试,设置断点。下面的一个列子演示脚本怎样获得传递的系统变量。脚本首先判断变量是否存在,然后弹出一个消息框显示任务的名字。

1
Imports
System

2

Imports
System.Data

3

Imports
System.Math

4
Imports
Microsoft.SqlServer.Dts.Runtime

5

6
Public

Class
ScriptMain

7

Public

Sub
Main()

8

Dim
variables
As
Variables

9

If
Dts.Variables.Contains(
"
TaskName
"
)
=

True

Then

10
Dts.VariableDispenser.LockOneForRead(
"
TaskName
"
, variables)

11

Dim
TaskName
As

Object

=
variables(
"
TaskName
"
).Value

12

13

End

If

14

15

MsgBox
(
"
You are in the task:
"

&

CStr
(variables(
"
TaskName
"
).Value))

16
Dts.TaskResult
=
Dts.Results.Success

17

End Sub

18

19
End Class

20


执行package执行结果如下图3-18

                


                      图3-18

这里交接一下ActiveX脚本,为保证向后兼容SQL Server 2000
DTS在SSIS中保留ActiveX脚本,你会发现ActiveX脚本任务不是种高级任务,脚本任务可以完全代替它。和脚本任务一样,它也在编辑页面中
配置。在早先的SQL Server
2000中,它支持除VBScript外的多种语言。EntryMethod属性指定要这姓的方法,也可以点击省略号浏览选择脚本文件。

注意:浏览选择将会覆盖已经选择的脚本。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: