Excel 07-2003一个工做表最多可有65536,行最多可有256列;Excel 2007及之后版本,一个工做表最多可有1048576行,16384列。sql
1、小批量数据处理:数据库
方法一:用excel能够直接打开dbf或csv文件,数据库表for update,直接把excel表中想要的列值直接复制到pl/sql中 相对应字段。oracle
方法二:如果dbf文件可用dbfplus工具转换成csv文件,打开pl/sql中的 工具>文本导入器,在‘到Oracle的数据’中选择到导入哪一个用户下的哪一个表,点击左上角‘打开’你已经准备好csv文件,这个动做通常要再重复一次,左侧就是csv’字段’,右侧是导入表的字段和数据类型,选择要导入的对应字段,点‘导入’就能够了。(小批量数据和大批量数据均可以用这个方法,可参考工具
2、超过excel最大行数据:spa
我在用上面的方法二处理400万左右的数据时,出现了屡次卡死现象,用了一天时间才解决。方法以下:.net
1.准备好compare.csv,放在e:\Data\下,并在该路径下新建一个compare.ctl控制文件、compare.log日志文件、compare.bad是坏的行(格式不对不能导入)、compare.dis是丢弃的行。日志
2.重点:编辑compare.ctl文件excel
OPTIONS(BINDSIZE=8388608,READSIZE=8388608,ERRORS=-1,ROWS=50000)orm
LOAD DATAget
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/password@oracle control=e:/Data/compare.ctl log=e:/Data/compare.log
OK!成功!看看你的e:\Data\下吧!
这些我都在用,这些方法无论多大的数据均可以用。