我试图通过PHP网站上的文件上传将数据通过SQL Loader导入到oracle数据库中。当我通过浏览器运行导入时,缺少最后一次提交:
C:\ inetpub \ wwwroot \ ESTEO \ data> sqlldr'db / pw'control = sqlLoaderFiles / file.ctl log ='LoadResults.log'
SQL * Loader:版本11.2.0.3.0 - 生产于2019年2月11日星期一16:51:26
版权所有(c)1982,2011,Oracle和/或其附属公司。版权所有。
达到提交点 - 逻辑记录计数26达到提交点 - 逻辑记录计数52达到提交点 - 逻辑记录计数78达到提交点 - 逻辑记录计数104
当我通过命令行运行导入时,我得到:
C:\ inetpub \ wwwroot \ ESTEO \ data> sqlldr'db / pw'control = sqlLoaderFiles / file.ctl log ='LoadResults.log'
SQL * Loader:版本11.2.0.3.0 - 生产于2019年2月11日星期一16:51:26
版权所有(c)1982,2011,Oracle和/或其附属公司。版权所有。
达到提交点 - 逻辑记录计数26达到提交点 - 逻辑记录计数52达到提交点 - 逻辑记录计数78达到提交点 - 逻辑记录计数104达到提交点 - 逻辑记录计数113
我的控制文件在这里:
OPTIONS (
skip=1,
errors=100000,
parallel=true
)
----------------------------------------------------------------------
LOAD DATA
INFILE 'files/data.csv'
BADFILE 'c:\temp\data_BAD.log'
DISCARDFILE 'c:\temp\data_DISCARDED.log'
TRUNCATE
INTO TABLE table
----------------------------------------------------------------------
Fields Terminated by ","
Optionally Enclosed by '"'
Trailing Nullcols
----------------------------------------------------------------------
(columns)
我正在使用的命令在这里:
C:\inetpub\wwwroot\ESTEO\data\sqlLoaderFiles\run_sqlloader.bat db pw sqlLoaderFiles/file.ctl
批处理文件在这里:
sqlldr '%1/%2@server' control=%3 log='LoadResults.log'
我检查了LoadResults.log,它显示了113条记录正在加载,即使实际只有104条记录。
为什么最后一次提交没有通过HTTP请求完成?
我解决了这个问题。最后一条记录有我不需要的坏数据。删除它解决了这个问题。