orcle快速导入大量数据

adanya 2012-03-28 11:31:07
我用plsql操作,每天提取很对数据,数据量都在100万以上,是dbf格式,怎么可以把dbf格式的数据导入orcle?
要操作简单而且快的。
dbf转换成csv格式后,用text import导入,总是不成功。
提示:ORA-00942
...全文
355 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdsnhan 2012-03-29
  • 打赏
  • 举报
回复
C:\Users\hanh>sqlldr help=y
userid ORACLE username/password
control Control file name
log Log file name
bad Bad file name
data Data file name
discard Discard file name
discardmax Number of discards to allow
skip Number of logical records to skip
load Number of logical records to load
errors Number of errors to allow
rows Number of rows in conventional path bind array or between direct
path data saves
bindsize Size of conventional path bind array in bytes
silent Suppress messages during run (header,feedback,errors,discards,pa
rtitions)
direct use direct path
_synchro internal testing
parfile parameter file: name of file that contains parameter specificati
ons
parallel do parallel load
file File to allocate extents from
skip_unusable_indexes disallow/allow unusable indexes or index partiti
ons
skip_index_maintenance do not maintain indexes, mark affected indexes a
s unusable
commit_discontinued commit loaded rows when load is discontinued
_display_exitcode Display exit code for SQL*Loader execution
readsize Size of Read buffer
external_table use external table for load; NOT_USED, GENERATE_ONLY, EX
ECUTE
columnarrayrows Number of rows for direct path column array
streamsize Size of direct path stream buffer in bytes
multithreading use multithreading in direct path
resumable enable or disable resumable for current session
resumable_name text string to help identify resumable statement
resumable_timeout wait time (in seconds) for RESUMABLE
date_cache size (in entries) of date conversion cache
qdkfriend 2012-03-28
  • 打赏
  • 举报
回复
sqlloader
「已注销」 2012-03-28
  • 打赏
  • 举报
回复
得到数据源:

使用数据导出功能,将整个数据导出成DBF文件(也可以导出成excel文件,感觉不如DBF文件好用),运行DBFPlus,打开DBF文件,选择文件—>输出到CSV,将DBF文件处理成CSV文件(可以直接当成txt文件进行操作)

预导入:

直接运行PLSQL,tools—>text importer,选择准备好的CSV文件,这时Oracle会自动解析文件,将其中的字段解析出来,选择data to oracle,选择好owner(用户)和table(要导入文件的表),下面会对应列出要导入文件和Oracle表的字段,对各个字段进行对应,对应完成之后就可以import了,如果中间没有问题,则导入成功,如果出现问题,说明我们准备的CSV文件有错误,需要修改,记录下报错的记录,一般不会太多


处理数据源:

将DBF文件用txt文件打开,搜索刚刚记下的有错的记录,进行处理,经常碰到的问题就是分隔符问题,我们导出的文件默认用“,”来分隔各个字段的,有时候两个电话号码的并排也是用的“,”这时就会出现Oracle将其当成两个字段进行解析,那么所有的字段后延,就会出现字段不对应的问题,我们需要人工调整,最好把“,”换成“、”,处理完成以后再进行导入,一般就没有问题了
youqi1984 2012-03-28
  • 打赏
  • 举报
回复
SQLloader 快速加载。效率很高
adanya 2012-03-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

用EXCEL可以的
[/Quote]
excel只支持6万数据,不能用dbf就只能改用csv或者tsv,是以百万位单位的数据,有三四十个字段
nuaaydh 2012-03-28
  • 打赏
  • 举报
回复
用EXCEL可以的
mangge08 2012-03-28
  • 打赏
  • 举报
回复
求同 求同
adanya 2012-03-28
  • 打赏
  • 举报
回复
楼上说的都不全,DBF已经转成csv导入,提示:ORA-00942是数据库中没有表,不能导入,需要新建一个空表才能导入数据,但是一张表有三四十个字段,手工创建一张空表不现实。

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧