數據導入導出是DBA高頻操作,文件格式選型直接影響效率與兼容性。DB2支援四大外部格式:DEL(定界ASCII)、ASC(固定長度ASCII)、IXF(PC/IXF二進制)、WSF(工作表單格式)。本文深度解析各格式特性、適用場景與避坑指南。
| 格式 | 類型 | 攜帶元數據 | 跨平台 | 二進制支持 | 最大行長 | 最大列長 | 典型場景 |
|---|---|---|---|---|---|---|---|
| DEL | 文本 | 否 | 需轉換 | 差 | 無限制 | 32KB | 異構遷移、文本交換、簡單導入 |
| ASC | 文本 | 否 | 需轉換 | 差 | 固定 | 32KB | 歷史系統對接、定長報文 |
| IXF | 二進制 | 是(表結構+數據) | ✅ 原生 | ✅ 完美 | 無限制 | 32KB | DB2間跨平台遷移、備份歸檔 |
| WSF | 二進制 | 是 | ✅ 原生 | ✅ 完美 | 無限制 | 32KB | DB2與Lotus/1-2-3交換 |
",包裹字符型數據(含分隔符時必須),,可自定義(分號、冒號等),必須英文半角CRLF,LinuxLF),跨平台需轉換1001,"office",2323,"BeiJing",-233
1002,"Bei,Jing",3000,"Shanghai",100 -- 含逗號的字符串必須加引號
dos2unix或tr -d '\r'轉換,否則識別為單行DB2導出工具已不再支援ASC導出,僅部分導入工具兼容。不建議新項目使用,歷史系統對接建議轉DEL或IXF。
-- 導出IXF(含結構)
EXPORT TO /data/t1.ixf OF IXF SELECT * FROM t1;
-- 導入IXF(自動建表)
IMPORT FROM /data/t1.ixf OF IXF CREATE INTO t1;
-- 導出DEL(指定分隔符、字符包裹)
EXPORT TO /data/t1.del OF DEL MODIFIED BY CHARDEL" " COLDEL, SELECT * FROM t1;
-- 導入DEL
IMPORT FROM /data/t1.del OF DEL MODIFIED BY CHARDEL" " COLDEL, INSERT INTO t1;
-- LOAD高性能載入(需數據庫可恢復)
LOAD FROM /data/t1.ixf OF IXF REPLACE INTO t1;
DB2內部遷移首選IXF,異構交換首選DEL,拒絕ASC,WSF專用。跨平台文本文件必做行尾符與字符集轉換。大數據量場景優先LOAD而非IMPORT,並確保數據庫處於可恢復模式(歸檔日誌)。