我們前面幾篇文章都在講解怎么處理相關(guān)的【執(zhí)行SQL任務(wù)】,及相關(guān)執(zhí)行包處理過程中會遇到的問題。下面我們將進(jìn)入SSDT工具的介紹,如本文的C#腳本任務(wù),讓你自由的編寫代碼來控制解決方案中的業(yè)務(wù)邏輯。接下來我們一起來看一下怎么使用C#腳本任務(wù):
1、從左側(cè)SSIS工具箱拖入腳本任務(wù)
雙擊打開腳本任務(wù)編輯器:
2、點(diǎn)擊ReadOnlyVariables右側(cè)的按鈕,可以選擇在腳本中可以訪問的變量。有幾個(gè)屬性標(biāo)簽下面做一些說明
a. ScriptLanguage:在這里可以設(shè)置要使用的語言。SSIS2005版本中只支持Visual Basic.NET,后續(xù)版本中添加了C#
b. PrecompileScriptIntoBinaryCode:設(shè)置這個(gè)屬性為true的時(shí)候,腳本在執(zhí)行之前就被編譯,這樣可以提高性能。設(shè)置為false,在調(diào)用script的時(shí)候才會編譯腳本。當(dāng)在SQL Server Agent job中調(diào)用這個(gè)package的時(shí)候需要將這個(gè)屬性設(shè)置為true
c. EntryPoint:這個(gè)屬性設(shè)置為Mian,表明程序的入口是Main方法
d. ReadOnlyVariables:一個(gè)用逗號隔開的字符串,包含可以被程序讀取的SSIS變量
e. ReadWriteVariables:一個(gè)用逗號隔開的字符串,包含可以被程序讀取和寫入的SSIS變量
3、點(diǎn)擊編輯腳本
打開VstaProjects項(xiàng)目按照示例編寫腳本:
4、編寫腳本完成,保存之后退出編輯,一個(gè)腳本任務(wù)就可以正常執(zhí)行了,并且腳本任務(wù)支持調(diào)試,和C#代碼在VS中調(diào)試一樣。腳本任務(wù)我們就可以把它當(dāng)做腳本,并且SSIS工具箱中有的任務(wù)在腳本任務(wù)中都可以通過代碼來實(shí)現(xiàn)。當(dāng)然我們一般情況下還是主要使用SSIS工具箱中的任務(wù)來完成。腳本任務(wù)主要還是用來控制數(shù)據(jù)流,當(dāng)現(xiàn)有的控制流任務(wù)不能滿足復(fù)雜的設(shè)計(jì)要求的時(shí)候,就應(yīng)該考慮使用腳本任務(wù)。