对外部表的理解及测试,,,,如有理解不正确请大家指正

语法:

create table 表名(

列名1,列名2,......

)

organization external  ###说明创建外部表

(

type 访问类型            ###一般是 ORACLE_LOADER ,ORACLE_DATAPUMP

default directory   路径名   ####指定默认目录对象

access parameter (        ###数据源文件与表中行之间的映射关系

records delimited by 设置分隔符    ###一般是newline

[badfile 路径名:'文件名']   ##存放错误日志的目录和文件名

[logfile 路径名:'文件名']    ##日志的目录和文件名

[discardfile 路径名:'文件名']  ###废弃文件存放的目录和文件名

fields terminated by  '分隔符'   ###设置文件中字段的分隔符

[ missing field values are null]   ##无值字段的处理

[reject rows with all null fields]   ##无值行的处理

( 列名1, 列名2, .....)   

)

location (路径名:'数据文件名')

)

[reject limit(或unlimited) 数值 ] ###设置多少行转换失败时返回oracle错误,默认为0

[parallel]

例子:

1.在系统下创建三个目录

/home/oracle/test_folder/data --数据文件目录

touch test.dat --数据文件

录入数据

1001,abc,2013/07/12,1000
1002,abcd,2014/01/31,1000
1003,bdc,2012/03/12,1020

/home/oracle/test_folder/log  --日志文件目录

touch test.log --日志文件

/home/oracle/test_folder/bad --错误文件目录

touch test.bad --错误文件

2.创建目录

登陆 conn  / as sysdba 下

create or replace directory DATA_DIR AS '/home/oracle/test_folder/data' ;  --数据文件目录
create or replace directory LOG_DIR AS '/home/oracle/test_folder/log' ;--日志文件目录
create or replace directory BAD_DIR AS '/home/oracle/test_folder/bad' ;--错误文件目录

3.授权

grant write ,read on directory DATA_DIR to scott;
grant write ,read on directory LOG_DIR to scott;
grant write ,read on directory BAD_DIR to scott;

3.创建表
###在scott 用户下
create table ext_emp
(
 emp_no varchar2(10),
 epm_name varchar2(20),
 hirte_date date,
 comm number
)
organization external
(
 type ORACLE_LOADER
 default directory DATA_DIR
 access parameters
 (
  records delimited by newline
  badfile BAD_DIR:'test.bad'
  logfile LOG_DIR:'test.log'
  fields terminated by ','
  (
   emp_no,
   epm_name,
   hirte_date char date_format date mask 'yyyy-mm-dd',
   comm
  )
 )
 location('test.dat')
)
parallel
reject limit unlimited;

注意: 如果在access parameters 中  注释一些没有用的代码,系统认为这是不符合规则的语句,所以产生错误。

原因是我在测试的时候注释一些内容,所以查询的时候一直报错。

然后在网上找了报错的原因,一般都是说这是创建目录和授权及目录和文件访问权限或文件数据问题或语法引起的问题,

   然后一个一个排除是否是这些原因引起错误,后来发现都不是这些因素。

最后重新建表才发现是注释引起的错误。。。。。(抓狂啊)

例如:

access parameters
 (
  records delimited by newline
  badfile DATA_DIR:'zlc.bad'
  logfile DATA_DIR:'zlc.log'
  fields terminated by ','

-- missing field values are null  这两句可选的,
 -- reject rows with all null fields
  (
   emp_no,
   epm_name,
   hirte_date char date_format date mask 'yyyy-mm-dd',
   comm
  )
 )

如图:

然后查看 表结构发现 访问参数里面有注释 ,如图

---把上面的注释去掉问题就解决了。

select * from ext_emp

转载于:https://www.cnblogs.com/jaysanshi/p/4345807.html

oracle 外部表及解决ora-29400,ora-29913错误相关推荐

  1. oracle外部表kup-04023,sqlldr如何添加忽律错误得参数

    Oracle外部表使用方法 1.        版本信息 SQL> conn / as sysdba; 已连接. SQL> select * from v$version; BANNER ...

  2. Oracle 外部表

    外部表是指不存在于数据库中的表.通过向Oracle 提供描述外部表的元数据,可以把一个操作系统文件当成一个只读的数据库表,就像这些数据存储在一个普通数据库表中一样来进行访问.外部表是对数据库表的延伸. ...

  3. oracle数据库dblink创建语句_3场直播丨达梦DM8数据库安装部署初体验、新基建下的国产数据库应用和发展趋势、Oracle外部表创建与使用...

    1. 循序渐进-达梦DM8数据库安装部署初体验-07/16 简介: 本讲座主要介绍达梦DM8数据库软件安装与数据库创建. 2019年5月,DM8发布. 基于新技术发展的思考和市场的需求,坚持实用性.通 ...

  4. 3场直播丨达梦DM8数据库安装部署初体验、新基建下的国产数据库应用和发展趋势、Oracle外部表创建与使用...

    1. 循序渐进-达梦DM8数据库安装部署初体验-07/16 简介: 本讲座主要介绍达梦DM8数据库软件安装与数据库创建. 2019年5月,DM8发布. 基于新技术发展的思考和市场的需求,坚持实用性.通 ...

  5. ORA-29913,ORA-29400,KUP-00554,KUP-01005,KUP-01007 oracle外部表报错解决记录

    @ORA-29913,ORA-29400,KUP-00554,KUP-01005,KUP-01007 oracle外部表报错解决记录TOC 今天新建完oracle外部表,看了语法没错误,看了数据文件和 ...

  6. 使用Oracle外部表来查询分析警告日志

    使用 Oracle 外部表来查询分析警告日志 Oracle 中的警告日志按照时间发生顺序记录了 Oracle 数据库出现的内部错误,以便通过这个警告日志提醒用户,用户通过查询警告日志来分析 Oracl ...

  7. oracle外部表ora29913,从外部表中选择sqlplus错误:ORA-29913:执行ODCIEXTTABLEOPEN标注时出错...

    我已经建立了一个简单的Oracle外部表测试,我(与DBA和Unix管理员一起)无法工作. 以下内容基于Oracle的External Tables Concepts.我们使用的数据库是11g. 这是 ...

  8. oracle外部表导入,oracle 外部表导入时间日期类型数据

    oracle 外部表导入时间日期类型数据以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 建立外部表目录 create d ...

  9. 外部表如何导入mysql_如何利用Oracle外部表导入文本文件的数据

    Oracle外部表支持两种类型的驱动:一种是ORACLE_LOADER,外部表的数据必须来源于文件文件,另一种则是ORACLE_DATAPUMP,外部表的 同事最近在忙数据一致性比对工作,需要对不同文 ...

最新文章

  1. CentOS: 将虚拟机迁移到 Azure (以阿里云为例)
  2. dedecms网站文章内容按自定义排序的方法
  3. Cs Round#56 D Find Path Union
  4. 性能测试篇 :Jmeter监控服务器性能
  5. JQuery中的.attr()与.removeAttr()
  6. Linu移植随笔:由ts_config:Success想到的
  7. 【数据结构】广义表的默认成员函数、深度、大小、打印
  8. validate中remote的用法
  9. 手把手教你设计交友网站【3】
  10. eclipse,aptana,zendstudio,flex全屏插件
  11. es6中的let声明变量与es5中的var声明变量的区别,局部变量与全局变量
  12. python 压力测试
  13. 如何使用VMware 和ISO镜像文件 安装linux虚拟机,(附有安装工具)
  14. linux系统中lib,lib-dev,lib-dbg库的区别
  15. 收藏:关于3g手机的市场调查报告
  16. 2018服务商口碑榜Top50(3月)重磅出炉
  17. 嵌入式系统开发笔记6:CJ/T-188 水表协议解析1
  18. 谈谈前端浏览器兼容和性能优化
  19. PTA不变初心数(17分)简单答案版
  20. cas单点登录配置,Java导入证书失败Keystore was tampered with, or password was incorrect

热门文章

  1. ASP.NET 网站预编译概述
  2. 【工具使用系列】关于 MATLAB 液压元件,你需要知道的事
  3. js_Event Loop(笔记)
  4. 微服务架构的基础框架选择:Spring Cloud还是Dubbo?
  5. 2011,我的IT我的梦
  6. 通用权限管理模块系列————参考资料————Windows安全性参考
  7. Node.js 指南(目录)
  8. 客户端读写hdfs数据
  9. Linux kernel 不输出log信息
  10. Zabbix监控网络设备日志文件及字段报警