




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 統(tǒng)編版三年級(jí)語(yǔ)文下冊(cè)第六單元達(dá)標(biāo)測(cè)試卷(含答案)
- 關(guān)于食品gmp的單選試題及答案
- 2019-2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識(shí)押題練習(xí)試題B卷含答案
- 2019-2025年軍隊(duì)文職人員招聘之軍隊(duì)文職管理學(xué)與服務(wù)自我檢測(cè)試卷A卷附答案
- 酒店保潔合同(2篇)
- 2025年全國(guó)碩士研究生考試《政治》模擬試卷一
- H2H行業(yè)虛擬現(xiàn)實(shí)技術(shù)研究與應(yīng)用方案
- 智慧之書(shū)少兒版讀后感
- 火鍋店合伙人協(xié)議書(shū)
- 童年記憶繪本故事賞析與創(chuàng)作啟示
- 勞務(wù)派遣勞務(wù)外包項(xiàng)目方案投標(biāo)文件(技術(shù)方案)
- 2025年安全員C證(專職安全員)考試題庫(kù)
- 地理-天一大聯(lián)考2025屆高三四省聯(lián)考(陜晉青寧)試題和解析
- 2025年廣州市公安局招考聘用交通輔警200人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 貴州省貴陽(yáng)市2024-2025學(xué)年九年級(jí)上學(xué)期期末語(yǔ)文試題(含答案)
- 2025年江蘇海事職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 計(jì)件工資計(jì)算表格模板
- 兩癌防治知識(shí)培訓(xùn)
- 《moldflow學(xué)習(xí)資料》課件
- 2025中國(guó)移動(dòng)安徽分公司春季社會(huì)招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年吉安職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)附答案
評(píng)論
0/150
提交評(píng)論