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

脚本任务允许利用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属性指定要这姓的方法,也可以点击省略号浏览选择脚本文件。

注意:浏览选择将会覆盖已经选择的脚本。

时间: 2024-11-09 20:07:15

SSIS常用的包—脚本和组件任务的相关文章

SSIS常用的包—WMI数据读取任务和WMI事件监听任务

Windows Management Instrumentation (WMI)是Windows的最高机密之一,它允许你通过一个脚本界面来管理Windows平台.WMI数据读取任务通过WQL语言(WMA专用语言)来 接触管理服务器或者工作平台(例如查看系统日志).查询语句可以将结果输出到变量中.WMI数据读取任务可以完成下面的工作. 在事务日志中查询可能的错误信息 查询正在运行的应用程序 查询在包运行过程中有多少可用RAM 判断有多少可用的磁盘空间 在编辑界面中可以配置WMI数据读取任务,如图3

SSIS常用的包—消息队列任务

通过消息队列任务可以从Microsoft Message Queuing (MSMQ)中接收或向它发送消息.消息的格式可以是字符串,文件或者变量.消息队列任务的优点是你可以在package正在运行的时候相互通信.可以通 过这种任务可以扩展package,让多个package平行执行,在检验点检验得到的数据.这个任务还可以通过网络分发文件.例如,在运行的时候通过消 息队列想不通的办公室分发文件,接收文件的SSIS包可以下载文件到各自的SQL Server中. 在编辑页面,可以通过MSMQConne

SSIS常用的包—执行程序包任务

执行程序包任务Execute Package task可以从当前package中执行子程序包中的一个package,在SQL Server 2000 DTS中这中任务是不存在的.在图3-16中你可以看到package标签下的ExecuteOutofProcess属性,将它设置为true,它将执 行子过程中的任务.这个任务的默认设置是true,这需要耗费更多的内存,但是会提高任务的执行性能.另外一个和SQL Server 2000不同的地方是它不再将参数放在子任务中,子任务将会从父任务中取得配置值

SSIS常用的包—Web服务任务

Web服务任务是一个在SSIS中新添加的任务,它可以连接一个webservice并执行服务中的一个方法.执行方法之后可以将结果写回到一个变 量或者文件中.这个任务适合处理第三方应用中的信息.例如可以利用这个任务执行webservice中的方法获得亚马逊的更新后的产品列表,并把这些信息 写入到本地的服务器中. 在web服务任务 的编辑页面中的HttpConnection选项中打开HTTP Connection Manager Editor新建一个HTTP连接.与OLE DB连接有些不同的是HTTP

SSIS常用的包—发送Email任务

这种任务可以通过SMTP发送Email.在SQL Server 2000中需要通过MAPI来发送email,这意味着需要在执行package的机器上需要安装Outlook.这里不再需要安装Outlook也能发 送email.发送Email任务的编辑页面如图3-19,SMTPConnection选项用来配置SMTP连接. 图3-19 大多数的配置选择项是见名知意的,MessageSourceType选项用来指定邮件消息是从一个文件中读取还是直接填写在MessageSource选项中.

SSIS常用的包—大量插入任务(Bulk Insert task)

大量插入任务允许像 BULK INSERT 语句或者bcp.exe 命令行工具一样 从 txt文件(也叫做平面文件)中插入数据.这个 task工具箱中的 Control Flow Items中,它不会产生数据流.这种 task的一个缺点是在插入的时候不允许任何形式的数据转换.同时,它可以以最快的速度向 SQL Server中写入大量的数据,不论数据量是的是小. 创建一个大量插入任务,然后设置它的属性,打开编辑页面(图 3-2).像大多数 task一样编辑页面可以命名,描述这个 task.注意命名

SSIS常用的包—数据流任务

数据流任务 如果你对 SQL Server 2000 DTS比较熟悉,对这种数据流任务不会有了解,因为同其他任务比较它是一种很特殊的任务.主要说明数据怎样写入系统.SQL Server 2005中最大的改进是不必要创建一个存储表来接收数据,所有这些都将在内存中进行. 执行数据流任务 数据流任务会执行一个 Windows或者控制台应用程序,自从 SQL Server 2000之后这个任务得到很大的改进,并且在错误处理工作上更加健壮.例如,可以将异常信息写入一个变量中以便后来读取,所有输出信息都可以

Java常用jar包用途

Java常用jar包用途: USAGE INDEX JAR NAME USAGE 1 ASM asm-2.2.3.jar ASM字节码库 2 ASM asm-commons-2.2.3.jar ASM字节码库 3 ASM asm-util-2.2.3.jar Java字节码操纵和分析框架 4 COMMONS commons-discovery-0.2.jar 用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期管理的常用方法. 5 COMMONS commons-beanuti

Java语言中几个常用的包

Java采用包结构来组织和管理类和接口文件.本文介绍Java语言类库中几个常用的包,因为这几个包在软件开发与应用中经常需要用到,其中有些包是必要的.若是离开它,还真不能做事情了. 第一个包:java.lang包.     该包提供了Java语言进行程序设计的基础类,它是默认导入的包.该包里面的Runnable接口和Object.Math.String.StringBuffer.System.Thread以及Throwable类需要重点掌握,因为它们应用很广.   第二个包:java.util包.