最近公司業務須要用到BI SSIS來處理商業智能和大數據,網上大多數是之前版本介紹,沒有最新版,響應公司須要,現現學現賣總結一下入門及調試技巧,隨便附加經常使用技術棧。SSIS是什麼?「SSIS是Microsoft SQL Server Integration Services的簡稱,是生成高性能數據集成解決方案(包括數據倉庫的提取、轉換和加載 (ETL) 包)的平臺。
」SQL Server Integration Services (SSIS) 提供一系列支持業務應用程序開發的內置任務、容器、轉換和數據適配器。您無需編寫一行代碼,就能夠建立 SSIS 解決方案來使用 ETL 和商業智能解決複雜的業務問題,管理 SQL Server 數據庫以及在 SQL Server 實例之間複製 SQL Server 對象。html
新建,微軟Visual Studio 最近版本新建就不用多說了,如圖;
sql
(1) 參數設置,在Package設計頁面空白處「右鍵」選擇Variables,點擊添加參數數據庫
(2)Expression設置,點擊express
配置帶函數的參數,選擇所須要的參數直接拖動便可app
(1)在Connection Managers窗口中「右鍵」建立各類Connection
函數
(2)配置帶參數的數據鏈接,選中建立的Connection後選擇Properties窗口中oop
Expressions配置鏈接參數,參數配置同上性能
容器控件,用來將類似的tasks分組,通常用來將全部維度表和事實表處理分開大數據
執行SQL任務ui
(1)選中控件,選擇Edit
SQL Statement欄中配置ConnectionType(數據庫類型),Connection(數據庫),SQLSourceType
SQLSourceType有三種類型:
Direct input ,直接在SQLStatement中輸入SQL語句,若須要參數請用「?」代替
File connection,File類型鏈接
Variable,從咱們配置的Variables中選擇
(2)配置SQL語句中須要的參數「?」,選中Parameter Mapping
執行C#代碼腳本任務,並返回成功或失敗,
(1)選中,右鍵Edit
選擇ReadOnlyVariables,配置須要傳入C#代碼的參數
(2)編輯C#代碼,進入代碼編輯界面
數據流任務控件,在其編輯中可放入對數據操做的SSIS控件,
將Excel數據源導入數據庫,在其Edit界面編輯須要導入的Excel數據源,點擊[圖片上傳失敗...(image-2c445-1524627024788)]
添加新的數據源
能夠根據設置的條件函數處理數據,如對數據進行過濾、合併。在其Edit界面,
Order條件執行順序,可上下調節
Output Name 輸出名
Condition配置數據處理條件
OLEDB類型數據源,在其Edit界面配置數據源
New添加新數據庫,Data access mode選擇數據源獲取方式,直接選取或者從Variables參數中選取,或者經過SQL語句獲取,若SQL語句須要參數點擊
配置
向要導入的數據庫表中派生列,其Edit界面
Derived Column Name 派生新列的字段名
Derived Column 派生列的方式
Expression 新列字段值的表達式
將其餘數據庫表中的字段值插入數據中,其Edit界面
Input Column 數據中要插入數據的字段名
Reference 須要引用的數據,雙擊後進入其Edit界面
首先編輯其須要引用數據的數據庫,選擇數據庫Table/View做爲數據源或者經過SQL語句查詢數據,Key Column爲兩表關聯字段,Value Column爲要插入的數據字段
數據轉換,將數據類型轉換爲MSSQL的數據類型,在其Edit界面選擇須要轉換的字段便可
數據統計,統計處理的數據量,須要在Variables中定義Int32數據類型的參數來接受統計值
OLE DB目標,數據導入的目標,其Edit界面
配置好須要導入數據的數據庫與數據表,若出現
錯誤,請點擊Mapping仔細檢查數據字段匹配是否正確
如圖,再箭頭上直接右鍵 選中Enable Data Viewer,這樣運行到這裏會中止,而且能看到詳細數據狀況以下圖,點擊繼續往下走。
如圖,在package執行時,會出現一個progress顯示執行的進度
選中Execute SQL Task,點擊右鍵,選中Edit Breakpoint來設置斷點,進行調試。運行到這裏會斷點
package 事件調試,能夠在事件選中指定事件,當錯誤出現時,發送runtime的錯誤信息或將錯誤信息寫入文檔,方便捉錯誤信息。
注意,下面部分來自網上
SSIS 錯誤和消息參考:https://msdn.microsoft.com/library/ms345164(v=sql.105)