Oracle Sql Loader command [Thai Version]

** Myself
Sqlloader (load data text format to oracle database)
1. ทำการสร้าง textfile ที่จะทำการโหลดข้อมูลเข้า table โดยเลือกว่าจะใช้เครื่องหมายอะไรขั้น column และพอจบ record ต้องทำการ enter ขึ้นบรรทัดใหม่
ตัวอย่าง datatextfile.txt
ABC,DEF,100-2222,100
GHI,JKL,100-2223,110
MNO,PQR,100-224,120
จะเห็น ว่า ใน 3 column แรกจะเป็น character และสุดท้ายเป็นตัวเลข
2. ทำการสร้าง table ให้ตรงกับชนิดข้อมูลใน textfile ที่เราทำการสร้างโดยการใช้คำสั่ง
Create table Mytable (
COL_1 varchar2(100)
COL_2 varchar2(100)
COL_3 varchar2(200)
COL_4 number(7,2)
);
ทำให้เรารู้ว่า ในtableนี้มี 4 fields คือ มี อันแรกและสอง เป็น character ใส่ตัวหนังสือได้ 100 ตัว column 3 ใส่ตัวหนังสือได้ 200 ตัว column 4 ใส่ตัวเลขได้ 5 ตัวทศนิยม 2 ตัว
3. ทำการสร้าง control file โดยบอกรายละเอียดกับ sqlloaderเพื่อใช้ในการควบคุม ว่า ใน column ไหนเป็นตัวหนังสือ หรือตัวเลขหรือ ใช้เครื่องหมายอะไรเป็นตัวขั้น จากตัวอย่างเราใช้ comma(,) เป็นตัวแบ่ง โดย infile คือ textfile ที่จะโหลดข้อมูล into table คือ ชื่อ table และ fields terminated by คือ ตัวที่จะแบ่ง ส่วน nullif คือ การบอกว่าถ้าโหลดเป็น null จะให้ใส่ blanks
ตัวอย่าง controlfile.ctl
load data
infile 'datatextfile.txt'
into table Mytable
fields terminated by ','
(
COL_1 NULLIF COL_1 = BLANKS
, COL_2 NULLIF COL_2 = BLANKS
, COL_3 NULLIF COL_3 = BLANKS
, COL_4 NULLIF COL_4 = BLANKS
)

4. ทำการสร้าง run คำสั่ง sqlldr โดยนต้องทำการกำหนด ชื่อ user (myname) และ password, SID คือ Instance name,Data คือ ชื่อdataไฟล์ , control คือ ชื่อcontrol file,bad คือ log file ที่ record ไม่สามารถนำเข้าได้,log คือ log file ที่จะเขียนผลลัพธ์การโหลดไฟล์ ที่จะนำข้อมูลเข้า
ตัวอย่าง การใช้ command sql loader
sqlldr userid=Myname/Password@SID
data=datatextfile.txt
control=controlfile.ctl
bad=load_bad.log
log=load_log.log


การใช้ command sql loader ใช้ บน os แล้วพิมพ์คำสั่งบน command prompt แล้วก็รอดูผลลัพธ์ ได้ จาก load_log.log

0 comments:

Loading