文章位置: Samples and Sample Databases > Samples > SQL Server Integration
Services Samples > Package Samples >
注意:本文僅適用於SQL Server 2005標準版及以上版本,不適用於SQL Server 2005 Express
Execute
Process(執行進程)包是一個用於示範如何在包中執行可執行應用程式的例子。在這個包中有一個執行進程的任務,用於執行Expand工具(expand.exe),這裡的expand工具會把一個包含一個excel檔案的cab檔案解壓縮,這樣
我們在接下來的任務中就可以把這個xls作為資料來源。在包第一次運行時,會有一個Execute SQL
任務,它會自動建立一張Execute_Process_Table表,而用於建立該表的T-SQL聲明語句是儲存在一個sql檔案中的。當第二次運行
Execute SQL任務時,會先判斷該表是否存在,如果存在就運行TRUNCATE TABLE。
這個任務會使用兩個OLEDB串連,第一個OLEDB會從Excel資料表中讀取資料,第二個OLEDB則會把讀到的資料寫入Execute_Process_Table表中。
配置需求
執行該樣本需要具備以下一些要求
- 樣本所要用到的包和資料檔案必須安裝在本地硬碟上
- 你必須安裝AdventureWorks資料庫,並且對該資料庫擁有管理員級許可權
- 如果你僅僅想通過命令列運行樣本包,你必須安裝SQL Server 2005 Integration Services(SSIS)
- 如果你是想在設計器中開啟並運行包,你必須安裝Business Intelligence Development Studio
- 你
可能需要修改Execute
Process任務中expand工具的路徑,這是由你所使用的作業系統決定的。不同的作業系統,expand.exe檔案的儲存位置會有所不同,因此可
能與樣本中的路徑有差異。要修改Execute Process Task,右擊Control Flow(控制流程) 選項卡中的Execute
Process任務,點選Edit。在Execute Process Task
Editor(進程執行任務編輯器)中,設定Executable屬性的路徑為為expand的真正儲存路徑。
更多有關如何安裝樣本的資訊,可以參見SQL Server Books Online中的安裝Integration Services樣本包。
樣本包的儲存位置
假設樣本安裝在預設目錄下,則Execute Process樣本包位於以下位置:
C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package
Samples\ExecuteProcess Sample\ExecuteProcess\
運行樣本包必須包含下面這些檔案
| 檔案 |
描述 |
UsingExecuteProcess.dtsx |
樣本包 |
Customers.cab |
包含Excel表的cab檔案,該Excel表將被作為資料來源 |
Create_Execute_Process_Dest.sql |
Transact-SQL查詢,用於在AdventureWorks資料庫中建立表 |
運行樣本
這個包既可以在命令列下用dtexec工具執行,也可以在Business Intelligence Development Studio中運行
如果你使用的是非英語版Windows系統,你可能需要更新connection
managers(連線管理員)中用到的所有檔案的ConnectionString屬性,只有這樣這個包才能正常運行。請確認連線管理員中的路徑是否有
效,如果需要,請把路徑修改為正確Program Files本地路徑。
使用dtexec執行包
- 開啟命令列視窗(控制台)
- 更改目錄到C: Program Files\Microsoft SQL Server\90\DTS\Binn,這是dtexec的執行路徑
- 鍵入命令:
dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx"
- 按斷行符號鍵
在Business Intelligence Development Studio運行包
- 開啟 Business Intelligence Development Studio
- 在檔案菜單中,點Open > Project / Solution
- 更改目錄至ExecuteProcess Sample目錄下,雙擊ExecuteProcess.sln
- 在Solution Explorer(解決方案瀏覽器)中,右擊SSIS Package目錄下的ExecuteProcess.dtsx檔案,然後點擊Execute Package
樣本中包含的對象
| 對象 |
作用 |
Execute SQL task |
執行包含在Create_Execute_Process_Dest.sql檔案中的Transact-SQL查詢,該查詢會在Adventure Works資料庫中建立目標表,但僅在第一次運行包時建立,當你重新運行包時這個表會被清空,但不會被建立。 |
Execute Process task |
運行Expand工具,該工具可解壓縮Customers.cab檔案 |
Data Flow task |
運行包中的資料流 |
OLE DB source |
將Excel資料表作為源 |
OLE DB destination |
將Excel表中的資料儲存到由Execute SQL任務建立的目標表中 |
File connection manager |
串連到sql語句聲明檔案(.sql),該聲明用於建立Execute_Process_Table表 |
OLE DB connection manages |
包含兩個OLE DB串連,一個OLE DB使用Microsoft Jet 4.0 OLE DB provider串連到Excel; 另一個使用SQL Native Client串連到AdventureWorks資料庫 |