我需要上传到数据库的示例 CSV 文件有超过 10000 条记录。我正在通过 Java 方法调用执行 sql loader 命令:
process = Runtime.getRuntime().exec(sqlLdrCmd);
这会上传 4924 条记录,然后执行只是挂起等待 CSV 上传。
只是想强调这只是我正在使用的一个示例 CSV,我的实际 csv 将包含接近一百万条记录。
我的 ctl 文件看起来像这样:
OPTIONS (SKIP=1)
LOAD
DATA
INFILE 'samples.csv'
BADFILE 'samples.bad'
DISCARDFILE 'samples.dsc'
APPEND INTO TABLE TAB_SAMPLE
EVALUATE CHECK_CONSTRAINTS
REENABLE DISABLED_CONSTRAINTS
EXCEPTIONS EXCEPTION_TABLE
FIELDS TERMINATED BY ","
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
SOURCE_NAME,
ASSOC1_NAME,
ASSOC2_NAME,
ASSOC3_NAME,
ENTITY_NAME,
ATTRIBUTE_GROUP,
ATTRIBUTE_NAME,
TYPE,
STRING_VALUE,
INTEGER_VALUE,
LONG_VALUE,
FLOAT_VALUE,
DOUBLE_VALUE,
BOOLEAN_VALUE,
TIMESTAMP_VALUE,
TIME_POINT_VALUE
)
当我直接从提示符执行时,该命令运行得很好并上传了整个数据。
此表没有外键约束
请提出出路,如果有什么不清楚的地方请告诉我