Oracle 批量导入
Posted
技术标签:
【中文标题】Oracle 批量导入【英文标题】:Oracle Bulk Import 【发布时间】:2014-03-07 04:26:13 【问题描述】:在 Oracle 中批量导入
我已经创建了表emp,我需要将文件中的批量数据导入emp中
前任
CREATE TABLE emp
( c1 NUMBER,
c2 VARCHAR2(30)
)
文件路径:
'C:\Documents and Settings\TestUser\My Documents\LearnOracle\reports.csv'
【问题讨论】:
【参考方案1】:您必须使用内置工具 sql*loader 将数据从外部平面文件加载到 oracle。 1.创建控制文件control.ctl
load data
infile 'reports.csv'
into table emp
fields terminated by ',' optionally
enclosed by '"'
c1,c2
2。数据文件是您的报告.csv
3.调用 sql*loader: $ sqlldr scott/tiger control=control.ctl 注意:这是您制作的控制文件的名称
【讨论】:
你可能想看看这个 10 分钟的教程。通读一遍,你就会对sql*loader工具有一个很好的了解thegeekstuff.com/2012/06/oracle-sqlldr【参考方案2】:写一个控制文件,比如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 加载的文档。
有一个叫做EXTERNAL tables 的东西,你可能也会感兴趣。他们将平面文件用于表格数据。
【讨论】:
以上是关于Oracle 批量导入的主要内容,如果未能解决你的问题,请参考以下文章