使用腳本任務(wù)來(lái)動(dòng)態(tài)創(chuàng)建SSIS包變量_第1頁(yè)
使用腳本任務(wù)來(lái)動(dòng)態(tài)創(chuàng)建SSIS包變量_第2頁(yè)
使用腳本任務(wù)來(lái)動(dòng)態(tài)創(chuàng)建SSIS包變量_第3頁(yè)
使用腳本任務(wù)來(lái)動(dòng)態(tài)創(chuàng)建SSIS包變量_第4頁(yè)
使用腳本任務(wù)來(lái)動(dòng)態(tài)創(chuàng)建SSIS包變量_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、使用腳本任務(wù)來(lái)動(dòng)態(tài)創(chuàng)建 SSIS包變量SSIS的優(yōu)點(diǎn)之一就是能夠動(dòng)態(tài)創(chuàng)建 可以輸入并控制不同元素的任務(wù),不需要硬編碼只能執(zhí) 行一項(xiàng)任務(wù)的程序包。這里我們可以來(lái)學(xué)習(xí)如何使用腳本任務(wù)來(lái)動(dòng)態(tài)創(chuàng)建輸出文件。簡(jiǎn)單來(lái)說(shuō),我們是要利用包變量來(lái)生成一個(gè)代表輸出文件的位置和名稱的輸出文件名, 利用腳本任務(wù)來(lái)動(dòng)態(tài)創(chuàng)建輸出文件名。使用這個(gè)方法來(lái)修改變量信息并不只限于輸出文件信息。你還可以用這個(gè)方法來(lái)生成輸 入文件位置、用于執(zhí)行SQL任務(wù)的復(fù)雜查詢、插入數(shù)據(jù)等等。腳本任務(wù)是一個(gè)很強(qiáng)大的工具, 向程序開(kāi)發(fā)員提供了別的控制流工具所不具備的性能。我們下面提供了一些簡(jiǎn)單的例子,使用腳本任務(wù)來(lái)動(dòng)態(tài)修改分配給一個(gè)輸出平面文件連

2、接的變量,進(jìn)而可以按照我們選擇的文件名和位置來(lái)保存該文件。創(chuàng)建程序包首先,利用 SQL Server Busin ess In tellige nee Desig n Studio (BIDS)新建一個(gè)In tegrati on Services項(xiàng)目。在控制流表面上添加一個(gè)數(shù)據(jù)流任務(wù)在連接管理器里,創(chuàng)建一個(gè)連接到AdventureWorks數(shù)據(jù)庫(kù)的OLE DB連接雙擊數(shù)據(jù)流任務(wù),并添加一個(gè)OLE DB來(lái)源,設(shè)置為任意的表或視圖(在這里我使用 Purchasing.vVendor視圖) 添加一個(gè)平面目的文件,并通過(guò)數(shù)據(jù)源路徑(綠色箭頭)連接這兩個(gè)對(duì)象,如下所示。打開(kāi)平面目的文件編輯器,新建一個(gè)連

3、接,選擇名為“CSV File Output ”的輸出文件類型。另外,選擇任意的一個(gè)文件名,該文件名會(huì)在之后被動(dòng)態(tài)生成。Withcrapting.dtK Design*嚴(yán) Contro.DataF. :?:ExecuL,.Dafa Flo艸 Task;IX專家網(wǎng)添加程序包變量回到控制選項(xiàng)卡,右擊除對(duì)象和選擇變量以外的任意位置。(這樣做是為了保證下一步即將設(shè)計(jì)的變量適用范圍包含整個(gè)程序包。)另外一種辦法是從菜單里選擇視圖 I其他視窗|變量。添加以下變量(在程序包范圍內(nèi))。名稱描述類 型值mDirectory文件輸出目錄。字 符 串C:SSISOutputmFilePrefix文件名(適用于你所在

4、組織的描述性名稱)字 符 串Ven dorsmOutFileName獲得用于平面文件連接的輸出文件名和路 徑。設(shè)置一個(gè)默認(rèn)的值(使用平面文件連接 對(duì)象使用的當(dāng)前文件路徑)字 符 串C:SSISOutputVe ndors.txt添加腳本任務(wù)現(xiàn)在向控制流中數(shù)據(jù)流任務(wù)以上添加一個(gè)腳本任務(wù)。連接這兩個(gè)對(duì)象(從腳本任務(wù)到數(shù)據(jù)流任務(wù)),并存在優(yōu)先約束,如下圖所示。打開(kāi)腳本任務(wù)編輯器。我們會(huì)使用默認(rèn)設(shè)置,但是需要向腳本選項(xiàng)卡里添加以下變量。通過(guò)在這個(gè)屬性窗口里設(shè)定變量,我們可以讓這些變量適用于腳本任務(wù)。注意:變量名稱必須跟之前設(shè)定的一致,并且區(qū)分大小寫。ReadO nly VariablesmDirect

5、ory, mFilePrefixReadWriteVariablesmOutFileNameF面是設(shè)定腳本變量的例子。然后選擇“設(shè)計(jì)腳本” ”按鈕,就可以打開(kāi) Visual Studio for Applications (VSA) 設(shè)計(jì)環(huán)境。在默認(rèn)設(shè)置中,你只有一個(gè)設(shè)計(jì)方法:Mai n。以下面的文本代替 Main方法:Public Sub Mai n()I'MSSQLTips: Modify Output File Locatio n'Dim sFi nalFileNameA ndPath As Stri ngIDim sDirectory As Stri ngDim sFi

6、lePrefix As Stri ngsDirectory = Dts.Variables("mDirectory").Value.ToStri ngIf Not (sDirectory.E ndsWith("") The nsDirectory = sDirectory + ""End If sFilePrefix = Dts.Variables("mFilePrefix").Value.ToStri ngsFi nalFileNameA ndPath = sDirectory + sFilePrefix + &

7、quot;-" +Mon th(Now.Date).ToStri ng + Year(Now.Date).ToStri ng + ".txt"IDts.Variables("mOutFileName").Value = sFi nalFileNameA ndPathDts.TaskResult = Dts.Results.SuccessEnd Sub _ ” " .”下圖是在粘貼以上編碼后的部分腳本。討論VB.Net編碼有點(diǎn)超出了本文所討論的范圍,這里只簡(jiǎn)要解釋一下。以上代碼從SSIS變量讀取目錄信息轉(zhuǎn)化為一個(gè)字符串變量,并保證該變量

8、以“”字符結(jié)束,以實(shí)現(xiàn)完整文件名和文件路徑的格式化。文件前綴同樣是由一個(gè)字符串變量里獲取。我們把輸出路徑和文件名制成一個(gè)字符串變量,動(dòng)態(tài)添加進(jìn)月份和年到文件名中。文件的擴(kuò)展名最后添加“ .txt結(jié)束。最后完整文件路徑中設(shè)定SSIS變量mOutFileName。記住我們?cè)谀_本任務(wù)里把改變量設(shè)置成可讀寫。最后,把DTS.TaskResult值設(shè)置為成功,結(jié)束腳本?,F(xiàn)在可以關(guān)閉VSA環(huán)境了。更改平面文件連接右擊并選擇屬性選項(xiàng)選擇屬性表達(dá),Co nn ectio nStri ng屬性,如下圖所示。選擇平面文件連接對(duì)象“ CSV文件輸出” 然后點(diǎn)擊省略號(hào)。在屬性表達(dá)編輯器里,選擇然后選擇“,”按鈕,打開(kāi)

9、下圖所示的建立表達(dá)界面。把表達(dá)設(shè)置為User:mOutFileName,可以通過(guò)從變量視窗里把值拖動(dòng)到表達(dá)視窗里, 如下圖所示,然后選擇確定。SpBCfly Hhefor the prop«ly: Ccmection£l:rH_gSyslem- LxdhIO1*_j M*berna毗:程 FundigmS=Slmg FwnGbcrK百艸tew. M.ictTnerJam?_j Dar»Aime Fumbxi;Usfir:fnCiccloryr ,_j. UULLFoiclioi%Uier .irfilsFicfih* _J FCmJ!1 LI m . iftO uiF+ IJ Gpei&cu£網(wǎng)削 OlMncck 5j*5(em Packap&> PchgeNrie 專嚴(yán) terar 負(fù) mrdmim 巳rWE1 1: :q|h 程2 Sern- VefsrcnBtiiiJ Syttn VcrsiariCjoiiMnr'j'Desctipiw普ogrn燈円書(shū)i it屛liFinr1 >Evaluated value:|U :ernnO utF iWJame;,JX專育網(wǎng)Exalu戲淀申emn右7 °罠 Ff血即雷j輕松搞定?,F(xiàn)在你已經(jīng)動(dòng)態(tài)修改了你的文件名,在文件名最后添加了年份

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論