Oracle批量导入

时间:2014-03-07 04:26:14

标签: sql oracle dbvisualizer

在Oracle中批量导入

我创建了表emp,我需要将文件中的批量数据导入到emp

对于Ex

CREATE TABLE emp

( c1 NUMBER,

  c2 VARCHAR2(30)

)

档案路径: 'C:\Documents and Settings\TestUser\My Documents\LearnOracle\reports.csv'

2 个答案:

答案 0 :(得分: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/pass@db data=reports.csv control=emp.ctl 

如果您始终想要使用您的数据完全刷新表格。 TRUNCATE表然后加载。

SQL*Loader是一个很棒的实用工具,提供了许多性能选项。请仔细阅读有关DIRECT and CONVENTIONAL loading的文档。

有一种叫做EXTERNAL tables的东西,你也可能会感兴趣。他们使用平面文件作为表格数据。

答案 1 :(得分: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 scott / tiger control = control.ctl
注意:这是您创建的控制文件的名称