首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2000 DTS (下):資料泵架構、查詢設計器、轉換類型、錯誤記錄、多階段資料泵完整圖解

     編輯:關於SqlServer

DTS 系列最終篇,聚焦資料泵核心架構:查詢設計器視覺化建立來源查詢、參數化查詢支援、轉換類型完整對照、錯誤記錄三檔案機制、多階段資料泵四階段流程與處理時序圖。

一、 資料泵核心架構

資料泵 (DataPump) 是 DTS 物件模型核心,負責:

  1. 在來源/目的連接建立資料列集
  2. 建立資料泵實例移動資料列
  3. 每列執行轉換操作
  4. 支援「轉換資料」、「資料驅動查詢」、「平行資料泵」三種任務

二、 來源查詢定義:查詢設計器 + 參數化查詢

  • 圖形化介面:拖曳表格、建立 JOIN、選取欄位、設定排序/群組
  • 支援參數化查詢:SELECT * FROM Orders WHERE OrderDate > ? AND CustomerID = ?
  • 參數值可由:全域變數、輸入參數、前序任務結果 動態提供
  • 執行時解析參數 → 產生最終 SQL → 開啟資料列集

三、 內建轉換完整對照表

四、 自訂轉換:ATL 模板最快開發路徑

  • SQL 2000 安裝光碟 \DevTools\Samples\DTS\ATLTransform 含範本專案
  • 繼承 CDTSDataPumpTransformImpl 實作 InsertRow、GetColumn
  • 編譯註冊 → 設計器工具箱出現,效能接近內建轉換

五、 錯誤記錄三檔案機制

轉換名稱功能效能備註
複製欄位直通對應最快、無 CPU 開銷
ActiveX ScriptVBScript/JScript/Perl 任意邏輯**逐列解譯執行,大量資料極慢**
DateTime 字串日期格式互轉快
小寫字串UPPER→LOWER + 型別轉換快
大寫字串LOWER→UPPER + 型別轉換快
中間字串SUBSTRING 擷取快
修剪字串LTRIM/RTRIM/內嵌空白移除快
讀取檔案來源欄位=檔名 → 讀內容寫入目的欄位 (text/ntext/image)IO 密集
寫入檔案來源欄位資料 → 寫入檔案 (路徑由第二欄位指定)IO 密集
檔案類型內容觸發時機
錯誤文字檔錯誤代碼、描述、時間、任務名任何轉換/寫入錯誤
來源錯誤列檔完整來源資料列 (含所有欄位)轉換階段失敗
目的地錯誤列檔嘗試寫入的目的資料列插入/更新失敗 (PK/FK/Null/型別)

設定位置:轉換任務屬性 → 「錯誤記錄」頁籤 → 指定三檔案路徑。

六、 多階段資料泵:四階段處理時序

階段 1: 資料列轉換 (Phase 1)
    ├─ 內建/自訂轉換執行
    └─ 產生轉換後資料列

階段 2: 資料列插入前 (Phase 2)
    ├─ 可檢查/修改即將寫入的資料列
    └─ 可決定是否略過此列 (Return DTSTransformStat_SkipRow)

階段 3: 批次認可前 (Phase 3)
    ├─ 批次層級邏輯 (如動態調整批次大小、發送進度事件)
    └─ 可決定是否中止批次

階段 4: 批次認可後 (Phase 4)
    ├─ 批次成功認可後通知
    └─ 可觸發下游任務、寫入稽核日誌

啟用方式:DTS 設計器 → 資料泵任務右鍵 → 「屬性」→ 「進階」→ 勾選「多階段資料泵」。

七、 資料泵完整生命週期流程圖

[開始任務]
   ↓
[開啟來源/目的連接]
   ↓
[建立資料列集]
   ↓
[建立資料泵實例]
   ↓
+-------------------------+
|  FOR 每一來源資料列      |
|    Phase 1: 轉換        |
|    Phase 2: 插入前      |
|    寫入目的資料列集     |
|  END FOR                |
+-------------------------+
   ↓
[Phase 3: 批次認可前] → [認可批次] → [Phase 4: 批次認可後]
   ↓                    (重複直到所有列處理完)
[關閉資料列集]
   ↓
[關閉連接]
   ↓
[任務結束]
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved