SSIS常用的包—腳本和組件任務
腳本任務允許利用Microsoft Visual Studio環境來使用VB.NET語言創建和執行腳本。ActiveX任務允許從SQL Server 2000中執行腳本。與ActiveX任務相比,腳本任務有一些優點。如下列舉。
- 一整套智能設計環境
- 輕松地向腳本傳遞參數
- 輕松地在腳本代碼中設置斷點
- 可以以二進制形式預編譯腳本
在腳本任務的編輯界面內如圖3-17有一個腳本語言選項用來選擇編輯語言,對于SQL Server來說只能選擇VB.NET。如果PreCompileScriptIntoBinaryCode選項設置為true,腳本將會編輯并加快任務運行,這樣做的副作用是package將會變大。

圖3-17
EntryPoint選擇項用來設定程序入口。ReadOnlyVariables選項和ReadWriteVariables選項允許想腳本中傳遞SSIS變量,ReadOnlyVariables表明該變量只讀,ReadWriteVariables表明該變量可讀寫。多個變量之間可以用逗號隔開。點擊Design Script可以編輯腳本。
點擊Design Script之后打開Visual Studio環境,在這個環境中可以調試,設置斷點。下面的一個列子演示腳本怎樣獲得傳遞的系統變量。腳本首先判斷變量是否存在,然后彈出一個消息框顯示任務的名字。
1 Imports System
2 Imports System.Data
3 Imports System.Math
4 Imports Microsoft.SqlServer.Dts.Runtime
5
6 Public Class ScriptMain
7 Public Sub Main()
8 Dim variables As Variables
9 If Dts.Variables.Contains("TaskName") = True Then
10 Dts.VariableDispenser.LockOneForRead("TaskName", variables)
11 Dim TaskName As Object = variables("TaskName").Value
12
13 End If
14
15 MsgBox("You are in the task: " & CStr(variables("TaskName").Value))
16 Dts.TaskResult = Dts.Results.Success
17 End Sub
18
19 End Class
20
執行package執行結果如下圖3-18

圖3-18
這里交接一下ActiveX腳本,為保證向后兼容SQL Server 2000 DTS在SSIS中保留ActiveX腳本,你會發現ActiveX腳本任務不是種高級任務,腳本任務可以完全代替它。和腳本任務一樣,它也在編輯頁面中配置。在早先的SQL Server 2000中,它支持除VBScript外的多種語言。EntryMethod屬性指定要這姓的方法,也可以點擊省略號瀏覽選擇腳本文件。
注意:瀏覽選擇將會覆蓋已經選擇的腳本。
作者:Tyler Ning
出處:http://www.rzrgm.cn/tylerdonet/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,請微信聯系冬天里的一把火
浙公網安備 33010602011771號