|
|
|
|
| |
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 |
|
| |

|
|
| |
อธิบาย |
|
| |
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 ) |
|
| |

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