[DB2] Export Table Data

ช่วงนี้ UAT มีอะไรแปลกให้เขียนเยอะครับ อย่างตอนนี้เป็นการใช้ DB2 Export เพื่อ Export ค่า mapping ของระบบ Interface จาก DB ของทีม QA ไปยังที่ Site ลูกค้าครับ เพราะลูกค้าบอกว่า Script ที่ได้ Run ไปที่เครื่อง AIX มันไม่ครับ (มีไม่ครบ ก็ยัดจากเครื่อง QA มาเลย 555) มาดูคำสั่ง Export ดีกว่าครับ

รูปแบบคำสั่งคร่าวๆ เพราะจริงๆมี Option ให้เลือกยิบย่อยมากมายครับ

export to [path และชือไฟล์ที่ต้องการ] of [ชนิดของ File ที่ Export] messages [path และชือไฟล์ log ที่ต้องการ] [คำสั่งSQL ในการดึงมูลมา Export]

ชนิดของ File ที่ Export ดังนี้

  • DEL: delimited ASCII format
  • WSF: work sheet format
  • IXF: Integration Exchange Format, PC version. Binary format มีการเก็บโครงสร้างมาให้ด้วย แต่มีประโยชน์ตอนที่ SELECT * เท่านั้น

ตัวอย่างคำสั่ง

  • กรณีแบบ .ixf (ขอเน้นการใช้แบบ .ixf เพราะ ใช้ Import ข้าม Version หรือ Platform ได้ โดยไม่มีปัญหาครับ)

    [sql]db2 export to C:\I_MAPFIELDVALUE.ixf of ixf messages C:\I_MAPFIELDVALUE.log select * from INVEST.I_MAPFIELDVALUE
    db2 export to C:\I_DATATYPE.ixf of ixf messages C:\I_DATATYPE.log select * from INVEST.I_DATATYPE
    db2 export to C:\I_COLUMN.ixf of ixf messages C:\I_COLUMN.log select * from INVEST.I_COLUMN[/sql]

    ผลการทดสอบครับ

    • ลองพิมพ์คำสั่งในหน้าจอ DB2 DLP
      2015-03-28_075729
    • ไฟล์ .ixf และ ไฟล์ log สร้างไว้ใน Drive C ตามคำสั่งที่กำหนดไว้
      2015-03-28_075937
    • ตรวจสอบไฟล์ log ที่ได้ครับ ว่ามี Error Message อะไรบ้าง
      2015-03-28_080004
  • กรณีแบบ del สามารถใช้คำสั่งได้ ดังนี้

    [sql]db2 export to C:\I_MAPFIELDVALUE.del of del messages C:\I_MAPFIELDVALUE.log select * from INVEST.I_MAPFIELDVALUE[/sql]

หมายเหตุ: ถ้าเราอยากไม่ให้ DB2 มันเก็บ log ก็สามารถปรับคำสั่งได้ (ตัดส่วน message และ ชื่อไฟล์ log ออกไป) ดังนี้

[sql]db2 export to C:\I_MAPFIELDVALUE.ixf of ixf select * from INVEST.I_MAPFIELDVALUE
[/sql]

Reference


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.