Find the error from log file:
Record 1: Rejected - Error on table JPA, column FIELD4.
Field in data file exceeds maximum length
Record 2: Rejected - Error on table JPA, column FIELD4.
Field in data file exceeds maximum length
This is caused by ading long,clob,blog columns using sqlldr,the following error is reported:
SQL> desc jpa
Name Null? Type
----------------------------------------- -------- ----------------------------
UUID NOT NULL VARCHAR2(100)
FIELD1 NOT NULL VARCHAR2(100)
FIELD2 NOT NULL VARCHAR2(100)
FIELD3 VARCHAR2(4000)
FIELD4 CLOB
FIELD5 NUMBER(20)
FIELD6 VARCHAR2(100)
FIELD7 NOT NULL NUMBER(20)
FIELD8 NUMBER(3)
Modify the control file and add char(2000) to the columns.
$ more jpa.ctl
OPTIONS(BINDSIZE=8388608,READSIZE=8388608,ERRORS=-1,ROWS=1)
LOAD DATA
INFILE '/opt/app/oracle/henry/pv/jpa_data.csv'
APPEND INTO TABLE Jpa
FIELDS TERMINATED BY ',' Optionally enclosed by '"' TRAILING NULLCOLS
(
uuid,
field1,
field2,
field3 char(1000),
field4 char(2000),
field5,
field6,
field7,
field8
)
Then it works well.
In the control file I did not specificy the column longth with char(n) where n is an integer. The default will work in most time but this times it caused the issue.
分享到:
相关推荐
在java代码中调用执行shell脚本,sqlldr导数与使用sqlplus在shell调用执行存储过程。 linux环境中有2个dba的用户:oracle、erm 还有1个web用户:erm 在linux环境中,这三个用户都可以直接在任意目录下执行该shell...
用的是11.2.0.4的Instant Client,Oracle没给sqlldr,Tools里面也没有(12C就有)。 网上下载了几个都是11.2.0.1的sqlldr,包括标了版本号的,都需要替换库文件。 这个是自己安装p13390677_112040_Linux-x86-64_4of7...
oracle11G32位客户端sqlldr文件,包含tnsus.msb,ulus.msb及使用方法,当使用sqlldr命令报这样的错误时说明缺少以上文件“Message 2100 not found; No message file for product=RDBMS, facility=ULMessage 2100 not...
INFILE 'data.csv' -- 指定数据源文件 INTO TABLE my_table -- 目标表名 FIELDS TERMINATED BY ',' -- 数据字段间的分隔符 TRAILING NULLCOLS -- 如果字段末尾有额外的空格,视为NULL ( col1 CHAR(20), -- 字段名及...
INFILE '#/aps_userlevel.txt' PRESERVE BLANKS INTO TABLE aps_userlevel FIELDS TERMINATED BY "|" TRAILING NULLCOLS ( userlevel, userlevelname, renttype CHAR(1024), -- 修改为更大的长度 rentfee ...
INFILE 'datafile.txt' INTO TABLE my_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS ( column1, column2, ... ) ``` 2. 数据文件准备:数据文件应按照控制文件中的格式排列,字段...
sqlldr user/pwd@database control=my_control_file.ctl data=$file done ``` 在进行多文件导入时,还需注意以下几点: - **并发性**:如果数据文件数量庞大,考虑并行加载以提高效率。可以通过在操作系统层面...
oracle11g基本客户端,主要是sqlplus,sqlldr,exp,imp这几个命令。最最主要的还是sqlldr,想找个单独可用的sqlldr,在Oracle 10g Client 精简优化安装包不到12M ...
在Linux上,通常使用`sqlldr`命令,而在Windows上则是`sqlldr.exe`。此外,文件路径需要适应各自的操作系统规范。 **5. 数据库连接配置** 在使用SQL*Loader前,需要确保有有效的Oracle数据库连接信息,包括用户名、...
INFILE 'datafile.txt' INTO TABLE ZY_CARD_LOST FIELDS TERMINATED BY ',' TRAILING NULLCOLS ( ID :INT, NAME CHAR(50), AMOUNT DECIMAL(10,2) ) ``` 在这个例子中,"datafile.txt"是包含逗号分隔值的数据文件...
在这个场景中,我们关注的是两个关键组件:`sqlldr`和`ulus.msb`。 `sqlldr`,全称为SQL*Loader,是Oracle提供的一种强大的数据加载工具。它能够快速地将大量数据从文本文件导入到数据库表中,适用于大批量的数据...
infile '/query5/Ascential/data/month/mgmid.200304M' into table DC_RPT_T_MGMID_200304M_30 append fields terminated by ',' ( userid, svcnum, brand, svcPlan, busist, hvcFlag, mntFlag, userYear, ...
Oracle sqlldr 大批量数据导入工具...1.安装的Oracle Client 不能为精简版,要不然就找不到sqlldr.exe 2.将Oracle的安装目录下的/BIN/sqlldr.exe加入系统环境变量 3.执行的实例,请参考压缩包中的remark.txt 说明文件
oracle11g基本客户端,主要是sqlplus,sqlldr,exp,imp这几个命令。最最主要的还是sqlldr,想找个单独可用的sqlldr,在Oracle 10g Client 精简优化安装包不到12M ...
- `INFILE`:指定输入数据文件的位置。 - `BADFILE`:设置坏记录文件,存放无法导入的数据。 - `CONTIGUOUS`/`DISCONTIGUOUS`:处理行尾的空格。 4. 错误处理与性能优化: - 错误处理:可以配置SQL*Loader只...
本压缩包"Instantclient_11_2-linux(sqlldr).zip"是针对Linux系统的Oracle Instant Client 11.2版本,其中包含了sqlldr、tnsping这两个重要的实用程序。 **1. Oracle Instant Client** Oracle Instant Client是一个...
sqlldr配置文件详解 python脚本根据csv文件批量生成sqlldr传输所需ctl文件和sqlldr脚本, 修改参数为自己本机配置后,运行脚本,复制输出结果到cmd下,直接运行即可批量将excel文件内容传输至指定Oracle表格中。 ...
注意,data参数只能指定一个数据文件,如果控制文件中也指定了数据文件,那么sqlldr将优先加载data参数指定的数据文件。 discard 参数discard指定了丢弃的数据文件的名称和路径,丢弃的数据文件记录了加载过程中被...
oracle11g基本客户端,主要是sqlplus,sqlldr,exp,imp这几个命令。最最主要的还是sqlldr,想找个单独可用的sqlldr,在Oracle 10g Client 精简优化安装包不到12M ...
INFILE 'data.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS ( column1, column2, ... ) ``` 在Linux Shell脚本中,我们可以使用如下命令运行SQL*Loader:...