外部表语法错误KUP-01005 Oracle

时间:2018-08-21 16:25:10

标签: sql oracle

每次选择创建的外部表时,都会收到以下错误消息。

  

ORA-29913:俄克拉荷马州立大学(标注)ODCIEXTTABLEOPEN

     

ORA-29400:bładkartrydza danych

     

KUP-00554:解析访问参数时遇到错误

     

KUP-01005:语法错误:找到“减号”:应为以下其中之一:“错误文件,字节顺序标记,字符集,列,数据,定界符,废弃文件,dnfs_enable,dnfs_disable,disable_directory_link_check,字段,字段,固定的,io_options,加载,日志文件,语言,nodiscardfile,nobadfile,nologfile,date_cache,dnfs_readbuffers,预处理器,readsize,字符串,跳过,区域,变量,xmltag“

     

KUP-01007:第4行第23列   29913. 00000-“执行%s标注时出错”

外部表创建成功。这是创建外部表的脚本:

CREATE TABLE TB_CNEI_01C
(
    NEW_OMC_ID              VARCHAR(2),
    NEW_OMC_NM              VARCHAR(8),
    NEW_BSS_ID              VARCHAR(6),
    NEW_BSS_NM              VARCHAR(20),
    OMC_ID                  VARCHAR(2),
    OMC_NM                  VARCHAR(8),
    OLD_BSS_ID              VARCHAR(6),
    OLD_BSS_NM              VARCHAR(20),
    DEPTH_NO                INTEGER,
    NE_TP_NO                INTEGER,
    OP_YN                   INTEGER,
    FAC_ALIAS_NM            VARCHAR(20),
    FAC_GRP_ALIAS_NM        VARCHAR(20),
    SPC_VAL                 VARCHAR(4),
    INMS_FAC_LCLS_CD        VARCHAR(2),
    INMS_FAC_MCLS_CD        VARCHAR(3),
    INMS_FAC_SCLS_CD        VARCHAR(3),
    INMS_FAC_SCLS_DTL_CD    VARCHAR(2),
    LDEPT_ID                VARCHAR(3),
    FAC_ID                  VARCHAR(15),
    MME_IP_ADDR             VARCHAR(20),
    MDEPT_ID                VARCHAR(4),
    HW_TP_NM                VARCHAR(20),
    MME_POOL_NM             VARCHAR(20),
    BORD_CNT                INTEGER,
    FAC_DTL_CLSFN_NM        VARCHAR(50),
    INSTL_FLOOR_NM          VARCHAR(20),
    INSTL_LOC_NM            VARCHAR(30)
)
ORGANIZATION EXTERNAL
(
TYPE oracle_loader
DEFAULT DIRECTORY EXTERNAL_DATA
ACCESS PARAMETERS
    (
        RECORDS DELIMITED BY NEWLINE
        badfile EXTERNAL_DATA:'testTable.bad'
        logfile EXTERNAL_DATA:'testTable.log'
        CHARACTERSET x-IBM949
        FIELDS TERMINATED BY ','
        MISSING FIELD VALUES ARE NULL
            (
                    NEW_OMC_ID              VARCHAR(2),
                    NEW_OMC_NM              VARCHAR(8),
                    NEW_BSS_ID              VARCHAR(6),
                    NEW_BSS_NM              VARCHAR(20),
                    OMC_ID                  VARCHAR(2),
                    OMC_NM                  VARCHAR(8),
                    OLD_BSS_ID              VARCHAR(6),
                    OLD_BSS_NM              VARCHAR(20),
                    DEPTH_NO                INTEGER,
                    NE_TP_NO                INTEGER,
                    OP_YN                   INTEGER,
                    FAC_ALIAS_NM            VARCHAR(20),
                    FAC_GRP_ALIAS_NM        VARCHAR(20),
                    SPC_VAL                 VARCHAR(4),
                    INMS_FAC_LCLS_CD        VARCHAR(2),
                    INMS_FAC_MCLS_CD        VARCHAR(3),
                    INMS_FAC_SCLS_CD        VARCHAR(3),
                    INMS_FAC_SCLS_DTL_CD    VARCHAR(2),
                    LDEPT_ID                VARCHAR(3),
                    FAC_ID                  VARCHAR(15),
                    MME_IP_ADDR             VARCHAR(20),
                    MDEPT_ID                VARCHAR(4),
                    HW_TP_NM                VARCHAR(20),
                    MME_POOL_NM             VARCHAR(20),
                    BORD_CNT                INTEGER,
                    FAC_DTL_CLSFN_NM        VARCHAR(50),
                    INSTL_FLOOR_NM          VARCHAR(20),
                    INSTL_LOC_NM            VARCHAR(30)    
            )
    )
LOCATION ('TB_CNEI_01C.csv')
);

我已经检查了数据目录和数据文件的所有权限

3 个答案:

答案 0 :(得分:0)

您的包含-字符的 CHARACTERSET x-IBM949 )无效

您可以尝试其他没有该符号的替代方法

例如 AL32UTF8 US7ASCII WE8MSWIN1252 ..等

答案 1 :(得分:0)

好吧,现在我将字符集更改为正确的一个,并且以前的错误消失了。

现在我收到“ ORA-30653:达到拒绝限制”错误……是什么意思?

答案 2 :(得分:0)

我的“ CREATE TABLE ..”脚本中有一些注释行。我删除了那些注释行,错误消失了。 我收到来自http://www.orafaq.com/forum/t/182288/

的上述建议