您好,登錄后才能下訂單哦!
這篇文章主要介紹“SQL Server2008 SSIS變量簡介”,在日常操作中,相信很多人在SQL Server2008 SSIS變量簡介問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SQL Server2008 SSIS變量簡介”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
SSIS(SQLServerIntegrationServices,SQLServer整合服務)變量分分為兩種,一種是系統(tǒng)變量,一種用戶定義的變量。系統(tǒng)變量包括有關(guān)包、容器、任務或事件處理程序的非常有用的信息。例如,在運行時,MachineName系統(tǒng)變量包含運行包含的計算機的名稱,StartTime變量包開始運行的時間。系統(tǒng)變量是只讀的。在SSIS中,用戶變量是用戶在開發(fā)的過程中根據(jù)需要申明的變量。用戶變量可以使用在腳本中,在由優(yōu)先約束、For循環(huán)容器、派生列轉(zhuǎn)換和條件性拆分轉(zhuǎn)換使用的表達式中,以及在更新屬性值的屬性表達式中。
在各種編程語言中申明的變量一般情況下都會有作用范圍的,SSIS變量也不例外,SSIS變量也是有作用范圍的。根據(jù)作用范圍分類,變量分為包變量和組件變量。包變量在包任何一個組件中都可以調(diào)用,組件變量只能夠在聲明變量的組件中有效。在變量的窗口中可以看到變量的作用域。
可以看到i變量的作用域是整個Package1包,而myconfig變量作用域是數(shù)據(jù)流任務組件。
1、申明變量
申明變量是非常簡單、如果你要申明包變量,只要單擊控制流選項卡,然后在包開發(fā)區(qū)域空白處單擊右鍵選擇變量命令,或者新建變量按鈕就新建一個變量,輸入名稱,選擇數(shù)據(jù)類型,賦初值就完成了。
如果要聲明某數(shù)據(jù)流任務組件使用的變量,只要雙擊該數(shù)據(jù)流任務組件,在流控制控制選項卡空白的地方單擊右鍵選擇變量命名,在變量窗口中新建一個變量命令,在變量窗口中新建一個變量,這時變量的作用域就是你選擇的流任務組件。
2、賦值
在實際開發(fā)中,除了在變量聲明的時候給變量賦值外,還有兩種方式,一種是通過執(zhí)行SQL任務組件返回值的方式給變量賦值,一種是通過腳本組件來給變量賦值。
在執(zhí)行SQL任務組件方法是先設(shè)置好組件的數(shù)據(jù)庫連接屬性,然后輸入從數(shù)據(jù)庫取數(shù)據(jù)的SQL語句,設(shè)置組件返回的結(jié)果集為單行。在結(jié)果集界面中單擊“新建”,在結(jié)果集那一列輸入你剛才SQL返回列的名稱,在變量名稱列選擇你要賦值的變量。
利用腳本組件賦值變量比較簡單,只需要設(shè)置腳本組件的ReadOnlyvariable或者ReadWriteVariable,將變量的名稱設(shè)置他們的值(多個變量以逗號分割),它們的區(qū)別是前者在腳本組件只能夠讀,或者可以讀寫。然后在腳本組件中通過
Dts.Varables("變量名稱").Value=值
3、變量的使用
變量在ssis中使用的地方很多,筆者介紹兩個典型的應用。
?。?)執(zhí)行SQL任務組件的參數(shù)
假定申明了一個日期類型變量StartDate,用戶需要通過從某個表中選擇在StartDate日期之前的數(shù)據(jù),這個時候需要將StartDate作為參數(shù)傳給執(zhí)行SQL任務組件。在執(zhí)行SQL任務組件輸入SQL的地方輸入如下命令語句:
SELECT*FROMTABLE_aWHERE日期字段<? 然后在參數(shù)據(jù)映射界面新增映射,在變量名稱列選擇用戶變量StartDate,選擇類型為DATE,在參數(shù)名稱列輸入給參數(shù)取的名稱。這樣就可以將StartDate變量傳給SQL任務組件的SQL語句了。
(2)在腳本組件中賦值
可以在腳本組件中通過Dts.Variables("i").Value=1方式賦值給變量,也可以通過這種方式來使用變量。比如Dts.Variables("other_variable").Value=Dts.Variables("i").Value+1,這個語句是可以在腳本組件中執(zhí)行的,將i變量加1后賦值給另外一個量。
到此,關(guān)于“SQL Server2008 SSIS變量簡介”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。