0

我正在使用 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 会检查一些不相关的表/约束?谢谢

4

1 回答 1

0

再次遇到同样的问题,这次找到了原因。数据库中已经有一个被拒绝记录的数据条目(具有指定 pdf 位置的 blob)。

于 2013-12-03T17:01:05.477 回答