You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Oracle SQL Loader加载CLOB遇ORA-39777错误的解决方案咨询

解决ORA-39777:SQL Loader加载CLOB列失败的方案

针对你遇到的SQL Loader加载CLOB列时触发的ORA-39777错误,结合无法合并输入文件的限制,提供两种可行的解决方式:

方案1:调整SQL Loader控制文件的列定义

原控制文件中将CLOB类型的目标列LM_CAUTION_NOTE定义为CHAR(7000),这是触发错误的核心原因——SQL Loader在多文件场景下,用CHAR类型映射CLOB列会触发LOB加载限制。直接将列类型改为CLOB即可解决:

修改后的控制文件:

LOAD DATA CHARACTERSET UTF8 
    INFILE "E:\sample1.txt"
    INFILE "E:\sample2.txt"
    
APPEND
INTO TABLE FBNK_CUST_CAUTION_NOTE_M1
FIELDS TERMINATED BY ';' 
ENCLOSED BY '~%' 
TRAILING NULLCOLS
(
    code CHAR(240),
    LM_CAUTION_NOTE CLOB
)

如果LM_CAUTION_NOTE字段内容包含换行(单条记录跨多行),需额外添加CONTINUEIF子句标识记录延续,比如假设下一行开头是字段包围符~%则视为当前记录的延续:

LOAD DATA CHARACTERSET UTF8 
    INFILE "E:\sample1.txt"
    INFILE "E:\sample2.txt"
    CONTINUEIF NEXT (1:2) = '~%' -- 根据实际数据格式调整匹配规则
    
APPEND
INTO TABLE FBNK_CUST_CAUTION_NOTE_M1
FIELDS TERMINATED BY ';' 
ENCLOSED BY '~%' 
TRAILING NULLCOLS
(
    code CHAR(240),
    LM_CAUTION_NOTE CLOB
)

方案2:使用Oracle外部表加载

外部表通过Oracle Loader驱动直接读取文本文件,对多文件、CLOB列的支持更稳定,步骤如下:

  1. 创建目录对象并授权(替换YOUR_USER为你的数据库用户):
CREATE DIRECTORY DATA_DIR AS 'E:\';
GRANT READ ON DIRECTORY DATA_DIR TO YOUR_USER;
  1. 创建外部表,匹配输入文件格式:
CREATE TABLE EXT_FBNK_CUST_CAUTION_NOTE_M1 (
    code VARCHAR2(240),
    LM_CAUTION_NOTE CLOB
)
ORGANIZATION EXTERNAL (
    TYPE ORACLE_LOADER
    DEFAULT DIRECTORY DATA_DIR
    ACCESS PARAMETERS (
        RECORDS DELIMITED BY NEWLINE
        CHARACTERSET UTF8
        FIELDS TERMINATED BY ';'
        ENCLOSED BY '~%'
        TRAILING NULLCOLS
        (
            code CHAR(240),
            LM_CAUTION_NOTE CLOB
        )
    )
    LOCATION ('sample1.txt', 'sample2.txt')
)
PARALLEL 5
REJECT LIMIT UNLIMITED;
  1. 将外部表数据插入目标表:
INSERT /*+ APPEND */ INTO FBNK_CUST_CAUTION_NOTE_M1
SELECT code, LM_CAUTION_NOTE FROM EXT_FBNK_CUST_CAUTION_NOTE_M1;
COMMIT;

若输入文件中存在跨多行的CLOB字段,需调整RECORDS DELIMITED BY规则,比如用特定的记录结束标识(如END_RECORD)替代NEWLINE。

内容的提问来源于stack exchange,提问作者Karthick88it

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 05:41:31