SSIS包的組建之連接管理器


上一篇我們通過一個示例來介紹一下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) 管理的范圍。

下面就簡單的介紹一下我們常用的使用連接管理器類型。

  •  OLE DB 訪問接口連接到數據源(數據庫連接)
  1. 首先打開上一篇創建名為"SSISDemo"項目.
  2. 在連接管理器窗口中,右擊選擇New OLE DB Connnection項,將彈出如下窗口:

左邊數據連接框顯示的連接是我們已創建好的數據庫連接。右邊數據庫連接屬性框顯示對應的屬性信息。你也可以新建一個數據庫連接。單擊新建按鈕,彈出如下對話框

 

在這對話框中,我們可以根據自己的需要填寫相應的內容。本例是以連接本地AdventureWorks數據庫。單擊確定按鈕。則會在連接管理器看到如下信息:

 

圖中LocalHost.AdventureWorks.sa就是我們剛才創建的數據庫連接。右擊LocalHost.AdventureWorks.sa彈出屬性框。可以根據需要修改這些屬性。比如將Name屬性修改為: AdventureWorks 。 到此一個 簡單OLE DB連接方式建立完成。其中的一些屬性含義。自己可以在后續的學習中逐步的掌握。

  •  FILE連接到文件或文件夾(平面文件連接)

   平面文件連接管理器要比OLE DB連接方式要復雜的多。平面文件連接方式主要是連接非數據庫類型的文件。下面介紹下如何創建平面文件連接。假如我們有一個名為User.txt文件。數據格式如下:


每行有兩列數據。已“Tab”隔開。接下來介紹如何在連接管理器中連接這個文本文件。

  1. 仍然在連接管理器框中右擊,選中新建平面文件連接,彈出對話框

在圖中可以看到配置平面文件連接管理器需要配置連接管理器名稱常規高級、預覽這個屬性。下面將介紹如何配置這些屬性

  • 連接管理器名稱:為工作流中的平面文件連接提供唯一的名稱。所提供的名稱將在連接管理器框中顯示。
  • 常規選項卡:使用“平面文件連接管理器編輯器”對話框的“常規”頁可以選擇文件和數據格式。使用平面文件連接可以將包連接到文本文件。該選項卡中包含以下屬性:文件名:鍵入要在平面文件連接中使用的路徑和文件名。
    區域設置:在區域設置下拉框中選中指定的區域位置,以便為排序以日期和時間格式提供語言特性的信息。在設計的時候最好選擇英語(美國)選項
    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“的平面文件管理器。

本節就介紹常用的兩個連接管理器。其他的連接管理器可以參考這兩個例子自己嘗試去建立連接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM