SQL Server 2005 Integration Services(简称SSIS)是一个构建高性能数据集成解决方案的平台,它支持包括数据抽取、转换和加载(ETL)在内的数据仓库包。SSIS提供了构建企业级ETL应用程序所需的特性、工具和功能。与数据传输服务(DTS)类似,SSIS允许开发者在运行时移动或复制数据,并修改数据。SSIS完全支持Microsoft .NET Framework,使得开发者可以使用任何.NET兼容的语言或原生代码来编程SSIS。
为了更好地理解SSIS,可以通过创建包变量的例子来探讨。构建和执行包的过程需要使用商业智能开发工作室(Business Intelligence Development Studio)环境。在创建包之前,首先需要创建一个可以托管包的项目。从开始菜单的程序中打开商业智能开发工作室,选择“文件”->“新建项目”,在弹出的对话框中选择“Integration Services Project”作为项目模板,并指定项目名称为“SSISDemo”。项目创建完成后,将看到默认包“Package.dtsx”的包设计器窗口。现在,转到工具箱并选择“Script Task”,将其拖放到控制工作区。可执行任务是“ScriptTask”。右键单击窗口,从弹出菜单中选择“变量”,然后点击“添加变量”标签。添加两个名为“FirstVar”和“SecondVar”的变量。右键单击脚本任务并点击执行,包应该能够成功执行。这就是添加包变量的方法。
如何从SQL设计脚本访问这些变量?右键单击“ScriptTask”并选择编辑模式。点击“设计脚本”,然后可以看到脚本编辑器。输入以下代码:
Dim localVar = dts.Variables("FirstVar").Value.ToString()
MsgBox(localVar)
可以通过两种方式加载包:
C#
using DTS = Microsoft.SqlServer.Dts.Runtime;
using System.Collections;
using System.Collections.Generic;
DTS.Package dtsPackage = null;
DTS.Application dtsApplication = null;
dtsApplication = new DTS.Application();
// Load package by specifying SSIS package file path
dtsPackage = dtsApplication.LoadPackage(@"c:\Package.dtsx", null);
DTS.Variables packageVariables1 = dtsPackage.Variables;
packageVariables1["FirstVar"].Value = "12345321";
packageVariables1["SecondVar"].Value = "2312";
DTS.DTSExecResult packageResult = dtsPackage.Execute();
// The dtsPackage.Execute will return either success or failure messages.