上一篇我們通過一個樣本來介紹一下SSIS 包的開發.接下來的內容我們將學習一下包中各個選項卡的使用.如:連線管理員選項卡、控制流程選項卡、資料流選項卡和事件處理選項卡等等。這一篇將介紹一下連線管理員作用以及使用方式。
連線管理員的作用是串連到不同類型的資料來源以提取和載入資料。任何包的開發都需要提供來源資料。
下表列出了 SQL ServerIntegration Services 提供的連線管理員類型。
類型 |
說明 |
ADO |
串連到 ActiveX 資料對象 (ADO) 對象。 |
ADO.NET |
使用 .NET 提供者串連到資料來源。 |
CACHE |
從資料流或從快取檔案 (.caw) 中讀取資料,並可將資料儲存到快取檔案。 |
EXCEL |
串連到 Excel 活頁簿檔案。 |
FILE |
串連到檔案或檔案夾。 |
FLATFILE |
串連到單個一般檔案中的資料。 |
FTP |
串連到 FTP 伺服器。 |
HTTP |
串連到 Web 服務器。 |
MSMQ |
串連到訊息佇列。 |
MSOLAP100 |
串連到 SQL ServerAnalysis Services 執行個體或 Analysis Services 項目。 |
MULTIFILE |
串連到多個檔案和檔案夾。 |
MULTIFLATFILE |
串連到多個資料檔案和檔案夾。 |
OLEDB |
使用 OLE DB 提供者串連到資料來源。 |
ODBC |
使用 ODBC 串連到資料來源。 |
SMOServer |
串連到 SQL Server 管理物件 (SMO) 伺服器。 |
SMTP |
串連到 SMTP 郵件伺服器。 |
SQLMOBILE |
串連到 SQL Server Compact 資料庫。 |
WMI |
串連到伺服器,並指定伺服器上 Windows Management Instrumentation (WMI) 管理的範圍。 |
下面就簡單的介紹一下我們常用的使用連線管理員類型。
- 首先開啟上一篇建立名為"SSISDemo"項目.
- 在連線管理員視窗中,右擊選擇New OLE DB Connnection項,將彈出如下視窗:
左邊資料連線框顯示的串連是我們已建立好的資料庫連接。右邊資料庫連接屬性框顯示對應的屬性資訊。你也可以建立一個資料庫連接。單擊建立按鈕,彈出如下對話方塊
在這對話方塊中,我們可以根據自己的需要填寫相應的內容。本例是以串連本地AdventureWorks資料庫。單擊確定按鈕。則會在連線管理員看到如下資訊:
圖中LocalHost.AdventureWorks.sa就是我們剛才建立的資料庫連接。右擊LocalHost.AdventureWorks.sa彈出屬性框。可以根據需要修改這些屬性。比如將Name屬性修改為: AdventureWorks 。 到此一個 簡單OLE DB串連方式建立完成。其中的一些屬性含義。自己可以在後續的學習中逐步的掌握。
一般檔案連線管理員要比OLE DB串連方式要複雜的多。一般檔案串連方式主要是串連非資料庫類型的檔案。下面介紹下如何建立一般檔案串連。假如我們有一個名為User.txt檔案。資料格式如下:
每行有兩列資料。已“Tab”隔開。接下來介紹如何在連線管理員中串連這個文字檔。
- 仍然在連線管理員框中右擊,選中建立一般檔案串連,彈出對話方塊
在圖中可以看到配置一般檔案連線管理員需要配置連線管理員名稱、常規、列、進階、預覽這個屬性。下面將介紹如何配置這些屬性
- 連線管理員名稱:為工作流程中的一般檔案串連提供唯一的名稱。所提供的名稱將在連線管理員框中顯示。
- 常規選項卡:使用“一般檔案連線管理員編輯器”對話方塊的“常規”頁可以選擇檔案和資料格式。使用一般檔案串連可以將包串連到文字檔。該選項卡中包含以下屬性:檔案名稱:鍵入要在一般檔案串連中使用的路徑和檔案名稱。
地區設定:在地區設定下拉框中選中指定的地區位置,以便為排序以日期和時間格式提供語言特性的資訊。在設計的時候最好選擇英語(美國)選項
Unicode複選框:指示是否使用Unicode。如果使用Unicode則不能指定字碼頁。
字碼頁:在字碼頁中選中指定非Unicode文本的字碼頁。設計時最好選擇1252(ANSI-拉丁語I)格式:在格式下拉框中選中文本的格式
| 屬性 |
說明 |
| 帶分隔字元 |
各列之間由在“列”頁上指定的分隔字元隔開 |
| 固定寬度 |
列的寬度固定 |
| 右邊未對齊 |
在右邊未對齊的文本中,除最後一列之外的每一列的寬度都相同。它有行分割符分割 |
文本限定符:指定要使用的文本限定符。例如,可以指定文字欄位必須用引號括起來。若選擇文本限定符之後,就不能重新選擇"無"選項,鍵入None以取消選擇文本限定 符。
標題列分隔字元:從標題列的分隔字元列表中選擇,或輸入分隔字元文本。
值 |
說明 |
{CR}{LF} |
標題列由斷行符號符和分行符號的組合分隔。 |
{CR} |
標題列由斷行符號符分隔。 |
{LF} |
標題列由分行符號分隔。 |
分號 {;} |
標題列由分號分隔。 |
冒號 {:} |
標題列由冒號分隔。 |
逗號 {,} |
標題列由逗號分隔。 |
定位字元 {t} |
標題列由定位字元分隔。 |
豎線 {|} |
標題列由豎線分隔。 |
要跳過的標題列數:指定要跳過的標題列數或初始資料行數(如果有的話)。
在第一個資料行中顯示列名稱:指示在第一個資料行中是否要求列名或提供列名。
根據常規選項卡中的這些屬性以後,我們就可以根據需求設定文本顯示的格式。如
- 列選項卡:使用”一般檔案連線管理員編輯器”對話方塊中的”列”選項卡可以在這裡設定行和列的資訊。並預覽相應的檔案。如:
包含如下屬性
行和資料行分隔符號:此屬性和常規選項卡中的標題列分隔字元一樣。可以根據需求設定行和列的顯示方式。
預覽: 查看一般檔案中的樣本資料,這些資料已按所選的選項劃分為列和行.如。
重新整理:通過單擊“重新整理”查看更改要跳過的分隔字元後的效果。只有在更改行或列選項之後,此按鈕才可見。
重設列:通過單擊“重設列”可以刪除除原始列之外的所有列。 只有調轉到其他選項卡後,然後再回到“列”選項卡,此按鈕才可見。
本樣本我們在資料行分隔符號選項中選擇定位字元(t),然後單擊重新整理按鈕。
- 進階選項卡:使用“一般檔案連線管理員編輯器”對話方塊的“進階”頁,設定指定 Integration Services 如何讀寫一般檔案中的資料的屬性。可以更改一般檔案中各個列的名稱,並設定包括檔案中每個列的資料類型和分隔字元在內的屬性。預設情況下,字串列的長度為 50 個字元。可以調整這些列的長度,以免資料截斷或超出列寬。還可以更新其他中繼資料以便與目標列相容。例如,可以將只包含整型資料的列的資料類型更改為數值資料類型,例如 DT_I2。可以手動進行這些修改,也可以單擊“選擇類型”按鈕,以使用“提供列類型建議”對話方塊來評估樣本資料並自動進行其中一些更改。在進階選項卡中我們可以做如下工做:
配置各列的屬性:選擇左窗格中的列可在右窗格中查看列的屬性。請參閱下表以瞭解資料類型屬性的說明。列出的部分屬性僅對某些一般影像檔案格式是可配置的。
屬性 |
說明 |
ColumnType |
表示列是由分隔字元分隔、還是固定寬度,或是右邊未對齊。此屬性是唯讀。在右邊未對齊的檔案中,除最後一列之外的每一列的寬度都固定。它由行分隔字元分隔。 |
OutputColumnWidth |
指定值儲存為位元組數;對於 Unicode 檔案,此值對應於字元數。在資料流程工作中,此值用於設定一般檔案源的輸出資料行寬。 注意 在物件模型中,此屬性的名稱為 MaximumWidth。 |
DataType |
從可用資料類型的列表中進行選擇。 |
TextQualified |
指示文本資料周圍是否有文本限定符(例如引號字元)。 值說明 True一般檔案中的文本資料是受限定的。 False一般檔案中的文本資料是不受限定的。 |
Name |
提供說明性列名。如果不輸入名稱,則 Integration Services 將自動建立名稱,格式為“列 0”、“列 1”,依此類推。 |
DataScale |
指定數字資料的小數位元。小數位元是指小數點後的位元。 |
ColumnDelimiter |
從可用資料行分隔符號的列表中進行選擇。選擇不可能出現在文本中的分隔字元。對於固定寬度的列,將忽略此值。 值說明 {CR}{LF}列由斷行符號符和分行符號的組合分隔。 {CR}列由斷行符號符分隔。 {LF}列由分行符號分隔。 分號 {;}列由分號分隔。 冒號 {:}列由冒號分隔。 逗號 {,}列由逗號分隔。 定位字元 {t}列由定位字元分隔。 豎線 {|}列由豎線分隔。 |
DataPrecision |
指定數字資料的精度。精度是指數位位元。 |
InputColumnWidth |
指定值以位元組數進行儲存;對於 Unicode 檔案,該值將顯示為字元數。對於分隔列,將忽略此值。 注意 在物件模型中,此屬性的名稱為 ColumnWidth。 |
建立:通過單擊“建立”添加一個新列。預設情況下,單擊“建立”按鈕將會在列表末尾添加新列。該按鈕還包括以下選項,可以在下拉式清單中選擇。
值 |
說明 |
添加列 |
在列表末尾添加新列。 |
在其前插入 |
在所選列前面插入新列。 |
在其後插入 |
在所選列後面插入新列。 |
刪除:選擇一列,然後單擊“刪除”來刪除該列。
建議類型:使用“提供列類型建議”對話方塊可以計算檔案中的樣本資料,並擷取關於每列的資料類型和長度的建議。
充分瞭解進階選項卡的屬性後,我們將列0的Name和DataTye 屬性改為CustomerID和DT_I8類型。將列1的Name和DataTye 屬性改為SKUList和DT_STR類型,並將OutColumnWidth屬性修改為1000。
只要前三個選項卡配置成功後,預覽一下資料顯示格式就可以了。最後單擊確定按鈕。一般檔案連線管理員就建立成功。最終在連線管理員框中顯示剛才建立名為“Userout.txt“的一般檔案管理器。
本節就介紹常用的兩個連線管理員。其他的連線管理員可以參考這兩個例子自己嘗試去建立串連。