大批量数据导入数据库,dbf导入oracle,csv导入oracle

Excel 07-2003一个工作表最多可有65536,行最多可有256列;Excel 2007及以后版本,一个工作表最多可有1048576行,16384列。

一、小批量数据处理:

方法一:用excel可以直接打开dbf或csv文件,数据库表for update,直接把excel表中想要的列值直接复制到pl/sql中 相对应字段。

方法二:若是dbf文件可用dbfplus工具转换成csv文件,打开pl/sql中的 工具>文本导入器,在‘到Oracle的数据’中选择到导入哪个用户下的哪个表,点击左上角‘打开’你已经准备好csv文件,这个动作一般要再重复一次,左侧就是csv’字段’,右侧是导入表的字段和数据类型,选择要导入的对应字段,点‘导入’就可以了。(小批量数据和大批量数据都可以用这个方法,可参考http://blog.163.com/sunhaigang200699%40126/blog/static/121592632010811267359/)

二、超过excel最大行数据:

我在用上面的方法二处理400万左右的数据时,出现了多次卡死现象,用了一天时间才解决。方法如下:

1.准备好compare.csv,放在e:\Data\下,并在该路径下新建一个compare.ctl控制文件、compare.log日志文件、compare.bad是坏的行(格式不对不能导入)、compare.dis是丢弃的行。

2.重点:编辑compare.ctl文件

OPTIONS(BINDSIZE=8388608,READSIZE=8388608,ERRORS=-1,ROWS=50000)

LOAD DATA

INFILE ‘e:\Data\compare.csv‘

BADFILE e:\Data\compare.bad‘

DISCARDFILE ‘e:\Data\compare.dis‘

APPEND

INTO TABLE cc_compare

FIELDS TERMINATED BY ‘,‘

(

com01,

com02,

com03,

com04,

com05,

com06,

com07,

com08)

注意,数据库中的cc_compare表与compare.csv列是对应的;另外如果com08列有哪个值是空的,该行整条数据都导不进去了,可以不导或新加个值都不为空的列。

(注:rows控制每500000行commit一次,errors控制当有多少行导入出现错误时就停止导入,-1是不管多少行错都不停止)

3.打开cmd执行命令。

C:\>sqlldr  username/[email protected]  control=e:/Data/compare.ctl  log=e:/Data/compare.log

OK!成功!看看你的e:\Data\下吧!

这些我都在用,这些方法不管多大的数据都可以用。

时间: 2024-10-06 07:12:58

大批量数据导入数据库,dbf导入oracle,csv导入oracle的相关文章

微信小程序云开发导入json数据报错:导入数据库失败, Error: Poll error, 导入数据任务(id:528440)异常,错误信息:line 1, column 750: bare " in non-quoted-field

错误信息如下: 导入数据库失败, Error: Poll error, 导入数据任务(id:528440)异常,错误信息:line 1, column 750: bare " in non-quoted-field 导入数据库失败, Error: Poll error, 导入数据任务(id:528445)异常,错误信息:解析json文档错误,请检查导入文件格式,错误详情如下:invalid character ',' looking for beginning of value 导入JSON格式

导入数据库出现html lang='zh' dir='ltr' class='ie ie7错误代码解决方法

今天遇到一个客户导入数据库错误的问题,导入后出现错误代码如下: <!DOCTYPE HTML><html lang='zh' dir='ltr' class='ie ie7'><meta charset="utf-8" /><meta name="robots" content="noindex,nofollow" /><meta http-equiv="X-UA-Compatibl

第二百九十节,MySQL数据库-MySQL命令行导出导入数据库,数据库备份还原

MySQL命令行导出导入数据库,数据库备份还原 MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin(或者直接将windows的环境变量path中添加该目录) 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令行:mysqldump -u root -p news > news.sql

phpmyadmin导入数据库大小限制修改

phpmyadmin默认导入数据库文件大小为2M,但一般网站的数据库导出的文件都会超出这个限制,要导入超过2M的数据库文件就需要手动修改php.ini配置文件! 在php.ini文件中修改: upload_max_filesize  20m(即允许上传文件大小的最大值,默认为2M,修改值大小自定) 修改完后,再刷新phpmyadin导入数据库页面会发现,导入数据库大小限制会显示成"(最大限制:8,192 KB)"而不是手动设置的20m. 没错,只改upload_max_filesize

oracle中导入导出数据备份数据库

原文:oracle中导入导出数据备份数据库 数据库所在位置                         将数据导出到的文件名                    用户名 备份数据库 :exp csm/[email protected]/orcl file=c:/baoan_1.1.0_20120816.dmp owner=(csm) 数据库所在位置                         需要导入数据的文件名 恢复数据库 :imp csm/[email protected]/orc

Oracle导出、导入数据库数据过程

Oracle导出.导入数据库数据过程 请查看附件:导出.导入数据库数据过程

oracle导出导入数据库

一.给空表分配空间: 这一步一定要做,否则空表不能导出. 首先连接你要导出的库,在该库上执行以下sql: select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows = 0 执行结果是一连串的sql语句,类似alter table tablename allocate extent;选择所有结果,复制,在库里统一执行一下. 我在网上看好多人要在后面加一句 where num_rows

java大批量数据导入(MySQL)

? 版权声明:本文为博主原创文章,转载请注明出处 最近同事碰到大批量数据导入问题,因此也关注了一下.大批量数据导入主要存在两点问题:内存溢出和导入速率慢. 内存溢出:将文件中的数据全部取出放在集合中,当数据过多时就出现Java内存溢出,此时可通过调大JVM的最大可用内存(Xmx)解决, 但终究不是王道.    MySQL支持一条SQL语句插入多条记录的操作,并且效率比单条插入快的不是一点点:但是MySQL一次可接受的数据包大小 也是有限制的,当一次插入过多时也可能造成数据包内存溢出,此时可通过调

PHP读取CSV大文件导入数据库的示例

对于数百万条数据量的CSV文件,文件大小可能达到数百M,如果简单读取的话很可能出现超时或者卡死的现象. 为了成功将CSV文件里的数据导入数据库,分批处理是非常必要的. 下面这个函数是读取CSV文件中指定的某几行数据: /** * csv_get_lines 读取CSV文件中的某几行数据 * @param $csvfile csv文件路径 * @param $lines 读取行数 * @param $offset 起始行数 * @return array * */ function csv_get