程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 通過sqllder從csv導入數據到Oracle的方法

通過sqllder從csv導入數據到Oracle的方法

編輯:Oracle數據庫基礎

在初學Oracle時,我們需要導入數據到Oracle數據庫,方法有很多種。在這裡主要介紹通過sqllder從csv導入數據到Oracle的方法。讓我們一起學習下。
一、關於CSV文件添加到Oracle的方法。我有一個EXCEL的文件Prize_VS.xls,由姓名、身份證編號、通信地址、郵政編碼四列組成,在Excel中將Prize_VS.xls另存為Prize_VS.csv,現在來向我的Oracle服務器上的表增加數據。進行最後操作前,在Prize_VS.csv所在的目錄下新建文本文件input.ctl,內容為:   

  1. load   data     
  2. infile   'Prize_VS.csv'     
  3. append   into   table   方案名.Prize_VS     
  4. trailing   nullcols     
  5. (NAME   terminated   by   ",",     
  6. IDCARD   terminated   by   ",",     
  7. ADDREASS   terminated   by   ",",     
  8. POSTALCODE   terminated   by   ",")     
  9.      

保存後在DOS方式進入input.ctl所在的目錄下執行sqlldr命令:  

  1. sqlldr   用戶名/密碼@服務名   control=input.ctl    
  2.  

OK後可以在input.log文件中看到執行的具體記錄,有問題的數據則集中在Prize_VS.bad,你可以在修改後繼續上一步的操作,直到你滿意為止。  

二、使用sqllder導csv文件時,如果某一欄位的值來源於sequence,在導入時該如何指定該欄位的值?

比如,現在是使用sqllder從csv文件向表test導入數據,其中test有field_a, field_b, field_c三個欄位,並且field_c的值來源於sequence_fIEld_c;那麼控制文件可這樣寫:

  1. LOAD DATA   
  2. INFILE 'C:\test.csv '   
  3. TRUNCATE INTO TABLE test  
  4. FIELDS TERMINATED BY ', '   
  5. (field_a, field_b, field_c "sequence_fIEld_c.nextval")   
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved