SSIS入門--讀取文件、跨庫讀表,寫數據入表

1、 ssis讀取文件讀取數據寫入表:

本文使用工具:
在這裏插入圖片描述
組件自我理解:

名稱 描述
數據流 是具體任務邏輯的實現(類似於kettle的轉換ktr)
任務流 是宏觀任務的實現,大體代表任務的步驟的意思(類似於kettle的作業kjb)
數 據 轉 換 類似於kettle的字符串加工()
有條件拆分 類似於kettle的case/swich、條件判斷組件
查找組件 類似於kettle的case/swich、條件判斷組件(即查找到的如何處理,找不到的如何處理,但是要注意此組件數據源的配置,怎麼感覺僅針對於sqlserver呢?)
派生列 感覺類似於kettle的計算組件(即倆個/多個字段進行計算和組合,組合成一個新的字段)
OLE DB命令 個人感覺類似於kettle轉換中的失去了組件,可以時sql傳入參數的形式來執行?
數據類型轉換 爲了兼容多種數據源(比如平面文件、MssQL、ORACLE、DB2、MYSQL等)將組件內的數據類型轉換爲需要數據庫需要的類型
查找(Lookup) 類似於Sql 中的Left Join 、Right Join 數據流轉換(派生列、數據類型轉換)都是爲Lookup 鋪路搭橋的

查找lookUp
完全緩存:是指在查找轉換前,先把引用數據集,完全緩存在內存中,供以後查找時用。
  部分緩存:在執行“查找轉換”時生成引用數據集,並將有匹配的數據行加載到緩存中,沒有匹配的數據行則丟棄。
  無緩存:在執行“查找轉換”的過程中生成引用數據集,但不加載入緩存。
  通過上面的解釋,利弊已經很明顯了,不同的情況,可能需要不同的處理策略,自已權衡吧。
  連接類型,實際上也很清楚了,就不多說了。
  指定如何處理無匹配的行:這一選項非常重要,共有四個選項:
  **忽略失敗:**就是說遇到無匹配的項,忽略,程序繼續執行。
  將行定位到錯誤輸出:無匹配的記錄,通過錯誤數據流路徑(紅色箭頭)輸出,供以後人手分析處理。
  組件失敗:如果遇到無匹配的項,組件立即失敗,程序停止執行。
  **將行定位到無匹配輸出:**輸出無匹配的記錄集。此選項通常用於查找是否有新的記錄產生,如果有新記錄出現,則導入,已有匹配的記錄集忽略。


1、新建ssis項目?或者已有項目,至需要這個類型的操作:

以下內容基本實在數據流的實現

  • 數據流:是具體任務邏輯的實現
  • 任務流:是宏觀任務的實現,大體代表任務的步驟的意思

在這裏插入圖片描述
配置:
在這裏插入圖片描述
上圖需注意編碼格式,忽略行數等

【特別注意上圖中要跳過的標題行數標籤,否則會沒有數據或者丟數據】

在這裏插入圖片描述
在這裏插入圖片描述

2、讀取異構數據庫表數據寫入異構數據庫的表內

在這裏插入圖片描述
2、配置目標
在這裏插入圖片描述

再此一個簡單的讀取數據和寫入數據的操作就基本實現了,

其實內部還有很多插件可以使用的:例如sql等,在同一個數據時,使用還是比較好的

3、有條件拆分組件的使用

在這裏插入圖片描述

在這裏插入圖片描述
 優先約束控制着包的工作流,它會判斷包的約束是否滿足,然後再按照約束條件來選擇包是繼續運行,還是停止運行。在以前的DTS中,優先約束僅限於前面的任務是“成功”、“失敗”、“完成”這三種狀態,而現在除了以上三種狀態外,還多了一個“表達式和約束”,即我們可以通過定義表達式來定義約束,比如上圖所示,如果我們需要定義當錯誤數量超過5次以後,包才失敗,停止運行。這就要用到表達式約束了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章