excel中數據導入到Orcale數據庫表中的方法

最近我們要做產品的測試,由於裏面的數據量太少,上頭要我往數據庫的表裏加上10000條記錄。我想如果一條一條地往裏加,還不要幾個月呀,人也要被累死。所以,我很快地就想到了利用工具加。

就上網搜索,大多介紹的是用SQLLDR工具從excel中導入到Oracle表中。但是寫得不是很清楚,如果照着上面的去做,沒有成功的。

我就把我的方法,結合從網上搜索到的資料,合併成完整的步驟,希望對大家有所幫助:

 

方法:

一、在本機安裝oracle10g 或11g,再安裝PLSQL工具

二、在Oracle 10g/11g 裏配置Net Manager,通過這個工具。配置好要連接的數據庫

三、運行PLSQL,查詢一下你想導入數據的表記錄

四、使用SqlLoader工具

1、MicroSoft Excel文件(裏面就是你想要導入的內容,和表裏的記錄格式要一致)(F)→另存爲(A)→ 保存類型爲:製表符分隔,起名爲text.txt,保存到C:/

2、連入SQL*Plus 以system/manager用戶登錄, SQL> conn system/manager 創建表結構 SQL> create table test ( id   number,--序號 username varchar2(10), --用戶名 password varchar2(10), --密碼 sj varchar2(20) --建立日期); 如果有現成的表,創建表結構在此就可以略過了。

3、創建SQL*Loader輸入數據所需要的文件,均保存到C:/,用記事本編輯: 控制文件:input.ctl,內容如下:

  load data --1、控制文件標識

  infile 'test.txt' --2、要輸入的數據文件名爲test.txt  

  append into table test --3、向表test中追加記錄  

  fields terminated by X'09' --4、字段終止於X'09',是一個製表符(TAB)

  (id,username,password,sj) --定義列對應順序

 

a、insert,爲缺省方式,在數據裝載開始時要求表爲空 b、append,在表中追加新記錄 c、replace,刪除舊記錄,替換成新裝載的記錄 d、truncate,同上

4、在DOS窗口下使用SQL*Loader命令實現數據的輸入 C:/>sqlldr userid=system/manager control=input.ctl  

 默認日誌文件名爲:input.log   默認壞記錄文件爲:input.bad

5、連接到SQL*Plus中,查看是否成功輸入

 

我舉一個實際的例子吧:

連入SQL*Plus

  system/manager用戶登錄,

  SQL> conn system/manager

 

控制文件:input.ctl,內容如下:

    load data                

  INFILE 'c:/loop.txt'

       APPEND INTO TABLE  表名

        fields terminated by X'09'

        TRAILING NULLCOLS

    (字段名1,

     字段名2 ,

    字段名3 Date "YYYY-MM-DD HH24:MI:SS" , 注:這是日期型字段

    字段名4 ,

    ...


    字段名n-1,

    字段名n)

 

在本機的DOS窗口下使用SQL*Loader命令實現數據的輸入

 

C:/>sqlldr userid=system/manager@數據庫實例名 control=input.ctl


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章