雖然圖形介面真的很親切,但是透過SQLLoader快速把大量資料匯入Oracle,才真的是爽快!
用SQLLoader把資料載入的步驟
1.準備來源資料。如果是檔案的話,就先使用WINSCP上傳到主目錄。
2.確認帳號權限
3.建立目的資料表
4.設定control file(結尾是.ctl)
OPTIONS ( ERRORS=100 )
Load Data
Truncate
Into Table temp_table
Fields Terminated BY ','
Trailing NullCols
(ID, OrderDate DATE "YYYY/MM/DD" , Price, Quantity, Shipping_Price, Status, Total_Price, Pay_Time DATE "DD-MON-YY HH.MI.SS AM")
※如果也是從Oracle匯出的文字檔,在沒有指定格式之下,預設會將日期欄位輸出成"DD-MON-YY HH.MI.SS AM"。初次見面,真是陌生~
※如果註記Trailing NullCols,資料在無法對應到欄位時,欄位會呈現空值。今天意外在一篇很棒的文章中找到更多資訊:http://9host.cn/shujuku/200742218541014614.html
5.設定環境變數
1.1.設定Oracle_Home,DB的安裝目錄
1.2.設定NLS_LANG,也就是語系
1.3.設定TNS_ADMIN,也就是TNS(Transparent Network Substrate,Oracle的網路架構,提供統一介面,允許應用程式存取網路協定)
6.執行
-bash-3.2$ sqlldr userid=myid/mypass@DB control=ctrl_201009.ctl data=data_201009.txt log=log_201009.log
7.其他
7.1.檢視log(結尾是.log)
7.1.1先列出目錄下的檔案名稱
-bash-3.2$ ls
7.1.2.讀取檔案內容
-bash-3.2$ less ctrl_1028.log
用SQLLoader把資料載入的步驟
1.準備來源資料。如果是檔案的話,就先使用WINSCP上傳到主目錄。
2.確認帳號權限
3.建立目的資料表
4.設定control file(結尾是.ctl)
OPTIONS ( ERRORS=100 )
Load Data
Truncate
Into Table temp_table
Fields Terminated BY ','
Trailing NullCols
(ID, OrderDate DATE "YYYY/MM/DD" , Price, Quantity, Shipping_Price, Status, Total_Price, Pay_Time DATE "DD-MON-YY HH.MI.SS AM")
※如果也是從Oracle匯出的文字檔,在沒有指定格式之下,預設會將日期欄位輸出成"DD-MON-YY HH.MI.SS AM"。初次見面,真是陌生~
※如果註記Trailing NullCols,資料在無法對應到欄位時,欄位會呈現空值。今天意外在一篇很棒的文章中找到更多資訊:http://9host.cn/shujuku/200742218541014614.html
5.設定環境變數
1.1.設定Oracle_Home,DB的安裝目錄
1.2.設定NLS_LANG,也就是語系
1.3.設定TNS_ADMIN,也就是TNS(Transparent Network Substrate,Oracle的網路架構,提供統一介面,允許應用程式存取網路協定)
6.執行
-bash-3.2$ sqlldr userid=myid/mypass@DB control=ctrl_201009.ctl data=data_201009.txt log=log_201009.log
7.其他
7.1.檢視log(結尾是.log)
7.1.1先列出目錄下的檔案名稱
-bash-3.2$ ls
7.1.2.讀取檔案內容
-bash-3.2$ less ctrl_1028.log
