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

DB2 資料移動四大檔案格式深度解析:ASC、DEL、WSF、IXF

     編輯:DB2 教學

資料移動三大指令與格式角色

  • EXPORT:表 → 檔案 (最簡單,不易出錯)
  • IMPORT:檔案 → 表 (SQL 引擎執行,支援觸發器/約束/RI,較慢)
  • LOAD:檔案 → 表 (繞過 SQL 引擎直接寫頁面,**極快**,不觸發觸發器/RI,需 Load 後 SET INTEGRITY)

四種格式為這三指令的**通用介面**,實現異構資料庫/工具間資料交換。

四大格式詳細規格

1. ASC — 非定界 ASCII (固定寬度/位置)

  • 純文字流,行由換行符分隔。
  • **欄位由起始/結束字元位置定義** (固定寬度),無分隔符。
  • 需配合 MODIFIED BY 指定位置映射 (如 col1=1-10, col2=11-30)。
  • 適合大型機固定格式報表、傳統系統介接。

10 Head Office        160 Corporate New York  
15 New England        50  Eastern   Boston  

2. DEL — 定界 ASCII (CSV/TSV 等)

  • 最通用、可讀性最好、跨平台首選。
  • 行由換行符分隔,**欄位由分隔符分隔** (預設逗號 ,)。
  • 字串值通常用雙引號 " 包裹 (含分隔符/換行/引號時必須)。
  • MODIFIED BY 可自訂:CHARDEL (字串定界符)、COLDEL (欄位分隔符)、DECPT (小數點)。

10,"Head Office",160,"Corporate","New York"
15,"New England",50,"Eastern","Boston"

3. WSF — Work Sheet Format (Lotus 1-2-3 / Symphony)

  • 專用於 Lotus 試算表軟體系列資料交換。
  • 二進位格式,含工作表元資料、儲存格格式、公式等。
  • 現代環境極少使用,已被 CSV/IXF 取代。

4. PC/IXF — Integration Exchange Format (DB2 專用最強格式)

  • **DB2 內建標準格式**,攜帶完整**表結構定義 (DDL)**:欄位名、類型、長度、可空、預設值、索引、主鍵、檢查約束、Codepage。
  • 結構:檔頭記錄 → 表記錄 → 每欄位描述符記錄 → 資料記錄 (可變長)。
  • IMPORT/LOAD 可直接 CREATE INTO new_table 自動建表**,無需預建 DDL。
  • 支援 LOB/LONG/XML (配合 LOBSINFILE 分檔)。
  • 平台無關 (含 Codepage 轉換資訊),跨平台遷移首選。

格式選擇決策樹

  1. **DB2 ↔ DB2 遷移/備份/重組** → **IXF** (保留結構、效能最佳、自動建表)。
  2. **DB2 ↔ 異構資料庫 (Oracle, SQL Server, MySQL) / ETL 工具 / 人工閱讀** → **DEL (CSV)** (通用標準、可讀、易偵錯)。
  3. **大型機固定格式下載 / 傳統系統介接** → **ASC** (需精確位置映射)。
  4. **Lotus 試算表互操作** → **WSF** (極罕見)。

實戰指令範例

EXPORT (IXF 推薦)


db2 "export to /data/emp.ixf of ixf select * from emp"
db2 "export to /data/emp.csv of del modified by chardecldbl coldel, select * from emp"

IMPORT (IXF 自動建表)


db2 "import from /data/emp.ixf of ixf create into new_emp"
-- 或指定模式
db2 "import from /data/emp.csv of del modified by coldel; insert into emp"

LOAD (高效能大量載入)


db2 "load from /data/emp.ixf of ixf replace into emp"
-- Load 後必須檢查狀態並執行 SET INTEGRITY
db2 "set integrity for emp immediate checked"

大物件 (LOB) 處理

  • EXPORT ... LOBS TO /lobpath/ LOBFILE lobfile.ldf:LOB 資料分檔存放,主檔只存路徑。
  • IMPORT/LOAD ... LOBS FROM /lobpath/:指定 LOB 檔案目錄。
  • IXF 格式原生支援內嵌 LOB 或分檔。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved