ETL程序从数据接口文件加载数据到外表

来源:互联网 发布:亚马逊电子书包月 知乎 编辑:程序博客网 时间:2024/05/20 20:58
----------创建目录---------create or replace directory EXT_DATA_DIR_QLJ as '/data/ext_data/xueyuan/QLJ';----------授权-------------grant read,write on directory EXT_DATA_DIR_QLJ to vp_dm_qlj;-----------查询用户--------select * FROM DBA_DIRECTORIES;----------创建外表----------/*外部表不能使用DML语句进行修改*//*外部表不能建立索引,如要建立,则需要先create table XX as select * from TestTable*//*外部表与堆表一样可以之用ALTER TABLE命令修改表属性*/create table EXT_CBS_BDFMHQCW(  data_dt DATE,  a1      VARCHAR2(10),  a2      VARCHAR2(20),  a3      VARCHAR2(20),  a4      VARCHAR2(10))organization external(------数据转换驱动器,oracle_loader为默认,也可以改换其他----  type ORACLE_LOADER --------指定外部表所在文件夹以及指定文件-----------  default directory EXT_DATA_DIR--------设置转换参数,例如(fields terminatedby',')表示以','为字段间的分隔符 参数由访问驱动程序定义  access parameters   (    RECORDS DELIMITED BY NEWLINE  CHARACTERSET ZHS16GBK          BADFILE EXT_DATA_DIR:'CBS_BDFMHQCW.bad'  /*在accessparameters中加入BADFILE'BAD_FILE.txt'子句,则所有数据转换错误的值会被放入'BAD_FILE.txt'中*/          LOGFILE EXT_DATA_DIR:'CBS_BDFMHQCW.log'  /*在accessparameters中加入LOGFILE'LOG_FILE.log'子句,则所有Oracle的错误信息放入'LOG_FILE.log'中*/          READSIZE 1048576          FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"' LDRTRIM          MISSING FIELD VALUES ARE NULL          REJECT ROWS WITH ALL NULL FIELDS          (          data_dt char date_format date mask 'YYYY-MM-DD',    a1,    a2,    a3,    a4          )  )  location (EXT_DATA_DIR_QLJ:'CBS_BDFMHQCW.txt'))reject limit UNLIMITED;/*在创建外部表时最后加入LIMIT子句,表示可以允许错误的发生个数。      * 默认的REJECT LIMIT值为0      * REJECT LIMIT UNLIMITED则不会报错 */

原创粉丝点击