หน้าแรก www.oracleskill.com ข่าวความเคลื่อนไหว oracle และ oracleskill.com ความรู้ เทคนิค oracle บทความ oracle คัดสรรจากต่างประเทศ คอร์สเรียน Oracleและ บริการ ประวัติ ความเป็นมา เพิ่มพูนทักษะในการหางาน IT Oracle Webboard แลกเปลี่ยนความรู้  
 
 

 

 

Google
 
 

Export Oracle Data เป็น CSV โดยไม่พึ่ง tools

(Export Oracle data with Field Delimiter in CSV format)

 
 
  ทำไมต้องเป็น CSV ?  
 
001,"Pornchai K."
002,Polla
003,Aum
 
 

Comma-separated values (CSV) เป็น file format มาตรฐาน สำหรับนำข้อมูล import เข้า database ได้ทุกยี่ห้อ ที่สนับสนุน format นี้ เช่น Oracle , MS SQL Server , MySQL, Informix,DB2, PostgreSQL, MS Access โดยข้อตกลง RFC4180 ได้อธิบาย format โดยสรุปไว้ดังนี้

 
  " CSV เป็น delimited data format โดยมีเครื่องหมาย comma ( , ) เป็นตัวแบ่ง fields/columns และ ใช้การ ขึ้นบรรทัดใหม่ เป็นการแบ่ง record/rows โดยสามารถใช้ double quote ( " " ) เป็น option เพิ่ม สำหรับข้อมูลใน field ที่เป็นสัญลักษณ์พิเศษ หรือ เป็นข้อมูลที่ว่างๆ (null) ป้องกันความสับสนในการแบ่ง columns เวลา import ได้ "  
 

Database ยี่ห้ออื่น เช่น MS SQL Server , MySQL ได้แถม Tool ที่สามารถ export ข้อมูลออกมาเป็น CSV ติดพร้อมกันกับ Software Database เลย แต่สำหรับ Oracle นั้นไม่มีติดมาให้ ซึ่งผมก็ไม่เข้าใจเหมือนกันว่า เพราะอะไร ทั้งๆที่มันมีประโยชน์มากแท้ๆ จึงต้องลำบากเราไปหา Tool มาเพิ่ม หรือไม่ก็ต้องใช้ Third Party Tools มาช่วย

 
     
 
 

แต่ถ้าเราไม่อยาก ไปหา Tool มาเพิ่ม เราก็สามารถนำข้อมูล export ออกมาเป็นไฟล์ CSV ได้ โดยใช้เทคนิคการ SELECT และ ใช้การจัด environment ของ SQL*PLUS

 
 
SQL*PLUS environment and SQL to export data to CSV format
 
  อธิบาย  
  SET HEADING OFF = ไม่แสดงชื่อ column ในการแสดงผล  
  SET FEEDBACK OFF = ไม่ต้องแสดงว่า กี่ row selected  
  SET LINESIZE 1000 = ให้การแสดงผล 1 บรรทัด ยาวได้ 1,000 ตัวอักษร  
  SPOOL = ให้นำบรรทัดต่อจากนี้ไป ทั้ง command และ ผลลัพธ์ dump ออกมาเป็นไฟล์  
  || = Concatination เชื่อม column ให้ติดกัน  
  ',' = ให้เขียน comma คั่น  
  SPOOL OFF = สิ้นสุดการ dump ลงไฟล์  
     
 

แล้วเราก็จะได้ csv file ออกมา ดังรูป (ถ้ามี SQL Command ติดมาที่บรรทัดแรก กับ บรรทัดสุดท้ายของไฟล์ ให้ตัดออก เหลือเฉพาะส่วน data )

 
 
oracle spool file result
 
     
  RELATE LINK :  
  การ Import/Export ข้อมูล ด้วย Data Pump ใน oracle database 10g  
  Oracle Database 10g SQL In-House Training Course  
 

 

 

พบปัญหา website , link เสีย ,แลก link,แสดงความเห็น หรือ ติดต่อเป็นสปอนเซอร์สนับสนุน
email : webmaster@oracleskill.com
 
All Rights Reserved 2007. http://www.oracleskill.com.