|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
CSV逻辑上由逗号分割数据的存储引擎 跟着SQLServer2005不休的推行和提高,愈来愈多的企业的决议撑持项目接纳了SQLServer2005商务智能办理计划。本文就SSIS开辟ETL(Extract—Transform—Load,数据抽取、转换、装载的历程)过程当中SSIS用户变量的利用向读者作复杂先容。
1、SSIS变量简介
SSIS(SQLServerIntegrationServices,SQLServer整合服务)变量分为两种,一种是体系变量,一种用户界说的变量。体系变量包括有关包、容器、义务或事务处置程序的十分有效的信息。比方,在运转时,MachineName体系变量包括运转包的盘算机的称号,StartTime变量包括包入手下手运转的工夫。体系变量是只读的。在SSIS中,用户变量是用户在开辟的过程当中依据必要声名的变量。用户变量可使用在剧本中,在由优先束缚、For轮回容器、派生列转换和前提性拆分转换利用的表达式中,和在更新属性值的属性表达式中。
在各类编程言语中声名的变量一样平常情形下城市有感化局限的,SSIS变量也不破例,SSIS变量也是有感化局限的。依据感化局限分类,变量分为包变量和组件变量。包变量在包任何一个组件中都能够挪用,组件变量只可以在声名变量的组件中无效。在变量的窗口中能够看到变量的感化域(如所示)。BeginDate就是TestPackage包变量,而i是数据转换这个数据流组件的变量。
2、SSIS用户变量的声名、赋值、利用
1、声名变量
声名变量十分复杂,假如你要声名包变量,只需单击把持流选项卡,然后在包开辟地区空缺处单击右键选择变量命令(呈现如的画面),单击新建变量按钮就新建一个变量,输出称号,选择数据范例,赋初值就完成了(如)。
白色方框是新建变量按钮,蓝色方框是删除按钮。假如要声名某数据流义务组件利用的变量,只需双击该数据流义务组件,在流把持选项卡空缺的中央单击右键选择变量命令,在变量窗口中新建一个变量,这时候变量的感化域就是你所选的流义务组件。
2、赋值
在实践开辟中,除在变量声名的时分给变量赋值外,笔者还探索了两种体例给变量赋值,一种是经由过程实行SQL义务组件前往值的体例给变量赋值,一种是经由过程剧本组件来给变量赋值。
使用实行SQL义务组件办法是先设置好组件的数据库毗连属性,然后输出从数据取数据的SQL语句,设置组件前往的了局集为单行。在了局集界面中单击“新建“,在了局集那一列输出你方才SQL语句中前往列的称号,在变量称号列选择你要赋值的变量(历程如、所示)。
中白色方框中SQL语句十分复杂,前往单行,了局是1。在中,将前往的result列的一行赋值给用户变量i。
使用剧本组件赋值变量对照复杂,只必要设置剧本组件的ReadOnlyvariable大概ReadWriteVariable,将变量的称号设置为他们的值(多个变量以逗号分开),它们的区分是前者在剧本组件只可以读,后者能够读写。然后在剧本组件中经由过程
Dts.Variables("i").Value=1
3、变量的利用
变量在ssis中利用的中央良多,笔者先容两个典范的使用。
(1)实行SQL义务组件的参数
假定声名了一个日期范例变量StartDate,用户必要经由过程从某个表当选择在StartDate日期之前的数据,这个时分必要将StartDate作为参数传给实行SQL义务组件。在实行SQL义务组件输出SQL的中央输出以下命令语句:
SELECT*FROMTABLE_aWHERE日期字段<?
然后在参数据映照界面新增映照,在变量称号列选择用户变量StartDate,选择范例为DATE,在参数称号列输出给参数取的称号。如许就能够将StartDate变量传给SQL义务组件的SQL语句了。
(2)在剧本组件中赋值
能够在剧本组件中经由过程Dts.Variables("i").Value=1体例赋值给变量,也能够经由过程这类体例来利用变量。好比Dts.Variables("other_variable").Value=Dts.Variables("i").Value+1,这个语句是能够在剧本组件中实行的,将i变量加1后赋值给别的一个变量。
用一个库#bak_database存放这些历史数据。 |
|