首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle外部表中的PreProcessor

Oracle外部表中的PreProcessor
EN

Stack Overflow用户
提问于 2015-03-25 10:27:34
回答 1查看 2.1K关注 0票数 0

每当我将预处理器子句添加到我的外部表语句中时,我似乎遇到了问题。如果没有预处理器行,所有这些都可以正常工作,但是一旦我添加它,我就会得到各种错误,这取决于我把它放在访问参数块中的位置,它们是否必须按照特定的顺序排列呢?我在网上找不到类似的问题。

编辑:另外,我知道您可以使用预处理器将压缩后的文件提供给外部表。如果我想读取一个压缩文件并附加文件名,它是否就像把所有文件放在一个shell文件中一样简单?

代码语言:javascript
复制
CREATE TABLE (
    column1 VARCHAR2(40),
    column2 VARCHAR2(40)
)
ORGANIZATION EXTERNAL
(
  TYPE ORACLE_LOADER
  DEFAULT DIRECTORY DMPDIR
    ACCESS PARAMETERS(
        RECORDS DELIMITED BY NEWLINE
        LOGFILE DMPDIR:'test.log'
        BADFILE DMPDIR:'test.bad'
        fields terminated by '^'
        MISSING FIELD VALUES ARE NULL
        REJECT ROWS WITH ALL NULL FIELDS
        preprocessor DMPDIR: 'append_filename.sh'
    )
 LOCATION (DMPDIR: 'testfile.dat')
);

append_filename.sh

代码语言:javascript
复制
#!/bin/bash
sed -e 's!$!,'"${1##*/}"'!' $1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-25 11:19:56

下面是一个使用external table预处理器创建的小例子。我是在12C做的:

代码语言:javascript
复制
SQL> select banner from v$version where rownum = 1;

BANNER
----------------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production

SQL> DROP TABLE validation_header;

Table dropped.

SQL>
SQL> CREATE TABLE validation_header (
  2  header1 VARCHAR2(5),
  3  header2 number,
  4  header3 VARCHAR2(8),
  5  header4 number
  6  )
  7  ORGANIZATION EXTERNAL (
  8  TYPE oracle_loader
  9  DEFAULT DIRECTORY data_pump_dir
 10  ACCESS PARAMETERS (
 11  RECORDS DELIMITED BY NEWLINE
 12  PREPROCESSOR import_ppm:'script.ksh'
 13  LOGFILE import_ppm:'script.log'
 14  FIELDS TERMINATED BY ','
 15  (header1,header2,header3, header4
 16  ))
 17  LOCATION ('script_file.txt')
 18  );

Table created.

SQL>

从文件来看,

KUP-04094:如果数据库库安装了,则无法执行预处理

  • 原因:数据库库选项不允许从Oracle目录对象执行程序。
  • 操作:如果必须执行预处理,则不能安装数据库库选项。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29253080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档