2014-03-07 96 views
1

在甲骨文甲骨文批量導入

批量導入

我已經創建表emp和我需要從文件導入大量數據到EMP

對於防爆

CREATE TABLE emp 

(c1 NUMBER, 

    c2 VARCHAR2(30) 

) 

文件路徑: 'C:\Documents and Settings\TestUser\My Documents\LearnOracle\reports.csv'

回答

1

寫一個控制文件,說emp.ctl

load data 
options(direct=true) 
insert 
into table emp 
fields terminated by ',' optionally enclosed by '"' TRAILING NULLCOLS 
( 
    c1 DECIMAL EXTERNAL, 
    c2 
) 

執行SQL*Loader如下。

sqlldr userid=user/[email protected] data=reports.csv control=emp.ctl 

如果您始終想要用您的數據完全刷新表格。 TRUNCATE表中,然後加載。

SQL*Loader是一個偉大的實用工具,提供了許多性能選項。請通過關於DIRECT and CONVENTIONAL加載的文檔。

有一種叫做EXTERNAL tables的東西,也許你也會感興趣。他們使用平面文件作爲表格數據。

1

您將不得不使用內置工具sql * loader將外部平面文件中的數據加載到oracle中。
1.創建一個控制文件control.ctl

load data 
    infile 'reports.csv' 
    into table emp 
    fields terminated by ',' optionally 
    enclosed by '"' 
    c1,c2 

2.數據文件是reports.csv

3.invoke使用SQL * Loader: $ SQLLDR斯科特/老虎控制= control.ctl
注意:這是您製作的控制文件的名稱

+1

您可能想查看這10分鐘的教程。通過它,你將有一個很好的理解關於SQL *加載器工具 http://www.thegeekstuff.com/2012/06/oracle-sqlldr/ –