暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

无法读取外部表或使用Oracle 18c在Windows 10上使用utl_file.get_line读取

ASKTOM 2020-11-25
481

问题描述

我刚刚从11g升级到甲骨文18c XE。我有一个在11g上可以正常工作的外部表,但是在18c上不断出现以下错误。

ORA-29913: 执行ODCIEXTTABLEOPEN标注时出错
ORA-29400: 数据卡带错误
KUP-11604: 没有为日志文件指定目录对象

目录确实存在,我有正确的授权。

SELECT *
FROM   all_directories
WHERE  directory_name = 'MYDIR';


所有者目录 _ 名称目录 _ 路径来源 _ con_id
系统MYDIR C:\ 用户 \ sneuf \ OneDrive \ PLSQL \ OracleDirectory 1

SELECT * 
FROM all_tab_privs 
WHERE table_name = 'MYDIR' 
AND grantee = 'C##_SNEUF';


授予人授予表 _ 架构表 _ 名称特权可授予层次结构继承的公共类型
系统C ##_sneuf系统MYDIR执行是否否目录否
系统C ##_sneuf系统MYDIR读取是否否目录否
系统C #


我很确定我在某个地方错过了一笔赠款,但我不知道是什么。

这是我的表:

CREATE TABLE C##_SNEUF.CHECKING_TBL_EXT2 
   (  
  DB_KEY NUMBER, 
  CHECK_NUM VARCHAR2(10), 
  TRANS_DATE TIMESTAMP (6), 
  DESCRIPTION VARCHAR2(100), 
  DEPOSIT_WITHDRAWAL VARCHAR2(1), 
  AMOUNT VARCHAR2(12), 
  MEMO VARCHAR2(200)
   ) 
   ORGANIZATION EXTERNAL 
    ( TYPE ORACLE_LOADER
      DEFAULT DIRECTORY MYDIR
      ACCESS PARAMETERS
      ( RECORDS DELIMITED BY NEWLINE
    BADFILE MYDIR: 'checking.bad'
    FIELDS TERMINATED BY ","
    OPTIONALLY ENCLOSED BY '"'
    LDRTRIM
    MISSING FIELD VALUES ARE NULL
(
  DB_key CHAR,
  check_num CHAR(10),
  trans_date CHAR(21) DATE_FORMAT DATE MASK 'MM/DD/YYYY HH24:MI:SS',
  description CHAR(100),
  deposit_withdrawal CHAR(1),
  amount CHAR(12),
  memo CHAR(200)
            )
                     )
      LOCATION
       ( MYDIR: 'checking.csv'
       )
    )
   REJECT LIMIT UNLIMITED ;


谢谢,史蒂夫

专家解答

我们需要根据数据的负载编写日志文件。你没有指定一个。

你可以做:

ORGANIZATION EXTERNAL (
  TYPE ORACLE_LOADER
  DEFAULT DIRECTORY MYDIR
  ACCESS PARAMETERS (

这意味着一切都来自/转到MYDIR,或者你需要添加:

BADFILE MYDIR: 'checking.bad'
LOGFILE MYDIR: 'checking.log'

文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论