最近项目需用到ORACLE sqlLoader导入大批量的txt文件数据,遇到的一些问题,记录下来,txt文件中每一行是均含有json大字段,且varchar2(4000)不能满足
(其中关于.ctl其他的配置不详细说明)
一开始的BLOCK_DATA.ctl配置如下:
unrecoverable
load data
CHARACTERSET ZHS16GBK
infile * “STR ‘\n’”
truncate
into table DATA_INFO
FILDS TERMINATED BY “,”
trailing nullcols
(
id,
type,
name,
score,
file,
block_data
)
除了“block_data”字段空白之外,其他的字段的数据正常落表;
关于json字段的落数,varchar2(4000)会发生字段超长的情况,选择的是CLOB类型,也更换了NCLOB类型,发现还是没有正常落数,
后面修改BLOCK_DATA.ctl的配置,json字段的数据正常落数
图里 block_data CHAR(1000000) 的CHAR(*)大小,按需配置,
配置的大小要比json字段大