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

DB2 資料移動實戰(一):EXPORT 匯出完整指南

     編輯:DB2 教學

資料移動三部曲之首:EXPORT。本文詳細說明四種支援格式、常用修飾符、大物件匯出與訊息記錄技巧,為後續 Import/Load 奠基。

一、四大檔案格式

格式全名特性
ASCNon-delimited ASCII定長欄位,無分隔符,需程式自行轉換
DELDelimited ASCII欄位/列分隔符可自訂,最通用
WSFWorksheet FormatLotus 系列交換格式
PC/IXFIntegration Exchange Format含資料定義、型別、資料,跨平台遷移首選

二、核心範例

1. 基本 DEL 匯出

EXPORT TO C:\ORG.TXT OF DEL SELECT * FROM ORG;

2. 自訂分隔符

EXPORT TO C:\STAFF.TXT OF DEL
  MODIFIED BY COLDEL$ CHARDEL'' DECPLUSBLANK
  SELECT * FROM STAFF;
  • COLDEL$:欄位分隔符改為 $
  • CHARDEL'':字串引用符改單引號
  • DECPLUSBLANK:正數前綴 + 號改空白

3. 產出類 ASC 固定寬度檔(變通法)

EXPORT 不直接支援 ASC,改用 CHAR() 強制定寬再串接:

CREATE TABLE N (A INT, B DATE, C TIME, D VARCHAR(5), E CHAR(4), F DOUBLE);
INSERT INTO N VALUES (15,'2004-10-21','23:12:23','ABC','HH',35.2);
INSERT INTO N VALUES (5,'2004-01-21','03:12:23','BC','HHH',35.672);

EXPORT TO C:\TEST.TXT OF DEL
  SELECT CHAR(A)||CHAR(B)||CHAR(C)||CHAR(D,5)||E||CHAR(F) AS TMP FROM N;

結果每行前後會有雙引號,可用文字編輯器移除或匯入時忽略。

4. 大物件 (LOB) 匯出

EXPORT TO D:\MYFILE.DEL OF DEL
  LOBS TO D:\LOB\ LOBFILE LOBS
  MODIFIED BY LOBSINFILE
  SELECT * FROM EMP_PHOTO;
  • 主檔僅存 LOB 定位器(如 lobs.001.0.43690/)
  • 實際二進位資料寫入 D:\LOB\lobs.001, lobs.002…
  • 路徑必須預先存在,檔名勿加副檔名,DB2 自動遞增。

5. 匯出訊息記錄

EXPORT TO D:\AWARDS.IXF OF IXF MESSAGES D:\MSGS.TXT
  SELECT * FROM STAFF WHERE DEPT=20;

成功/警告/錯誤全記錄,利於事後稽核。

6. IXF/WSF 重新命名欄位

EXPORT TO D:\AWARDS.IXF OF IXF
  METHOD N(C1,C2,C3,C4,C5,C6,C7)
  MESSAGES D:\MSGS.TXT
  SELECT * FROM STAFF WHERE DEPT=20;

METHOD N 僅在 IXF/WSF 有效,可自訂欄位名稱。

三、格式選型建議

  • 跨異構資料庫遷移 → IXF(含 DDL、型別、資料)
  • 文字處理/腳本解析 → DEL(可讀、易剖析)
  • 大量 LOB 資料 → DEL + LOBSINFILE(主檔輕量)
  • 固定寬度需求 → 變通 CHAR 串接 或外部 ETL 工具
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved