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

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 脚本任务允许利用Microsoft Visual Studio环境来使用VB.NET语言创建和执行脚本。ActiveX任务允许从SQL Server 2000中执行脚本。与ActiveX任务相比,脚本任务有一些优点。

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

  • 一整套智能设计环境
  • 轻松地向脚本传递参数
  • 轻松地在脚本代码中设置断点
  • 可以以二进制形式预编译脚本

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

      img_f0f220848184342ce49eba482dd2f2a9.jpe

                          图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

                img_318dd25b1b768cc91af6e6388301c84e.jpe

                      图3-18

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

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

作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com  联系我,非常感谢。

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
数据库
作业与SSIS包结合
SQL SERVER 数据库的一些自动化管理操作不得不提作业,它非常方便;你也可以通过编写程序现实。这篇主要讲SSIS包配置、部署、与作业结合自动执行。不涉及到SSIS包开发。 准备一个收缩数据库的SSIS包如图   包配置,点击菜单栏中的SSIS弹出如图       1)点击添加选择配置类型和路径如图 3)我们这里选择是XML配置文件一直点击下一步直到完成。
1297 0
|
SQL 存储 数据库管理
|
C# C++ SQL
如何在SSIS的脚本组件中访问变量
原文:如何在SSIS的脚本组件中访问变量 这是一个小问题,我们在SSIS的设计中很多地方都会用到变量,我习惯性地将“变量”和“表达式”称为SSIS的灵魂,虽然不见得绝对准确,但它们确实是保证一个SSIS包灵活性的根本。
1228 0
|
SQL 程序员 OLTP
总结运行SSIS包的几种方式
原文:总结运行SSIS包的几种方式 很多程序员,不止.net程序员都有可能会用到SSIS包来处理一些数据流程上的任务。可以说SSIS作为BI下的一个ETL工具,方便易学,而且功能也确实很强大。于是开发OLTP的同事总会到我们这边寻求技术上的支持,更多的时候会问我,当一个SSIS包开发完成之后,都有哪几种方式可以让它运行起来。
1567 0
实例学习SSIS(一)--制作一个简单的ETL包
原文:实例学习SSIS(一)--制作一个简单的ETL包 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SSIS(四)--使用日志记录和错误流重定向 实例学习SSIS(五)--理论介绍SSIS 参考内容:SQLServer2005的帮助文档。
1307 0