外部表错误 - ORA-29913:执行ODCIEXTTABLEOPEN标注时出错

时间:2016-08-24 11:22:46

标签: sql oracle plsql oracle11g database-administration

我正在尝试使用oracle外部表功能将平面文件加载到数据库中,但在我创建的外部表上执行SELECT语句时遇到错误。 以下是我正在遵循的确切步骤 -

<EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:drawableStart="@drawable/abc_ic_menu_copy_mtrl_am_alpha"
        android:drawableLeft="@drawable/abc_ic_menu_copy_mtrl_am_alpha"
    />

在data_1文件夹add_len.csv中创建一个文件     Barbados_1000230,2461000230,2461000230,SSLN 00 0 00 138     Barbados_1000229,2461000229,2461000229,SSLN 00 0 00 139     巴巴多斯_1000228,2461000228,2461000228,SSLN 00 0 03 14

登录sysdba -     grant创建任何目录到cbusdev01cm;     授予读取权限,在DIRECTORY data_1上写入cbusdev01cm;

现在创建一个外部表 -

/user2/cbusdev01/smp43/domains/columbus/tools>mkdir data_1
/user2/cbusdev01/smp43/domains/columbus/tools>chmod 777 data_1

然后我触发SELECT语句

CREATE TABLE add_len_ext (
  country_code      VARCHAR2(20),
  sip               NUMBER,
  tn                NUMBER,
  len               VARCHAR2(30) 
)
ORGANIZATION EXTERNAL (
  TYPE ORACLE_LOADER
  DEFAULT DIRECTORY data_1
  ACCESS PARAMETERS (
    RECORDS DELIMITED BY NEWLINE
    BADFILE data_1:'bad.bad'
     LOGFILE data_1:'log.log'
    FIELDS TERMINATED BY ','
    MISSING FIELD VALUES ARE NULL
    (
      country_code      CHAR(50),
      sip               CHAR(50),
      tn                CHAR(50),
      len               CHAR(50)
    )
  )
  LOCATION (data_1:'add_len.csv')
)
PARALLEL 5
REJECT LIMIT UNLIMITED;

Table ADD_LEN_EXT created.

它给了我 -

select * from ADD_LEN_EXT;

我没有收到此错误! 我已经批准了所有关注的许可,但错误仍然存​​在。

我正在使用 -

ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
error opening file /user2/cbusdev01/smp43/domains/columbus/tools/log.log
29913. 00000 -  "error in executing %s callout"
*Cause:    The execution of the specified callout caused an error.
*Action:   Examine the error messages take appropriate action.

1 个答案:

答案 0 :(得分:1)

我没有看到create directory声明。它是指tools还是tools/data_1

错误消息提到操作系统目录/user2/cbusdev01/smp43/domains/columbus/tools,而不是您的新data_1子目录。