我正在使用sqlloader将pdf文件作为blob导入数据库。控制文件如下
LOAD DATA
INFILE *
INTO TABLE pdf_files
APPEND
FIELDS TERMINATED BY ','
(
pdfid char(20),
pdf_year char(4),
pdf_province char(2),
pdf_load_location char(100),
pdf_file lobfile (pdf_load_location) TERMINATED BY EOF
)
BEGINDATA
test-form-en,2012,QC,/home/oracle/TestForms/forms/en/test-form.pdf,
然后我在日志中收到错误消息:
Record 1: Rejected - Error on table PDF_FILES.
ORA-00001: unique constraint (SCOTT.SYS_C0011439) violated
我检查了约束SCOTT.SYS_C0011439如下
select * from user_constraints where constraint_name='SYS_C0011439';
然后我发现约束SYS_C0011439实际上是在一个不相关的表'T2032'上。该表与我要导入数据的表pdf_files无关。约束是非空检查约束。
当我尝试将数据加载到一个特定的表时,有谁知道为什么sqlloader会检查一些不相关的表/约束?谢谢
答案 0 :(得分:0)
再次遇到同样的问题,这次找到了原因。数据库中已存在已拒绝记录的数据条目(具有指定pdf位置的blob)。