注册
外部表导入报错[-7082]:外部表数据错误.
培训园地/ 文章详情 /

外部表导入报错[-7082]:外部表数据错误.

Oops 2024/10/31 421 0 0

外部表导入遇到过7082错误,导致该错误的原因应该有很多,我遇到的最后问题在于数据文件所在目录权限问题,于是做了一个验证,记录一下:

  • 文件内容
[root@localhost dmdba]# cat ext/tb_ext.txt id| name|dt 100|abc|2024-01-01 101|def|2024-01-03 102|xyz|2024-01-05
  • 控制文件
[root@localhost dmdba]# cat tb_ext.ctl OPTIONS ( SKIP=1 ) LOAD DATA INFILE 'tb_ext.txt' into table DMTEST.tb_ext FIELDS '|'
  • 创建外部表
SQL> create directory ext_dir as '/home/dmdba/ext'; 操作已执行 已用时间: 2.989(毫秒). 执行号:605. SQL> create external table dmtest.tb_ext (id int,name varchar(20),dt date) from default directory ext_dir location('tb_ext.ctl'); 操作已执行 已用时间: 3.990(毫秒). 执行号:606. SQL> select * from dmtest.tb_ext; select * from dmtest.tb_ext; [-7082]:外部表数据错误. 已用时间: 8.110(毫秒). 执行号:0.
  • 查看目录权限
[root@localhost dmdba]# pwd /home/dmdba [root@localhost dmdba]# ls -ld ext drwxr-xr-x 2 root root 42 10月 31 09:39 ext [root@localhost dmdba]# ls -l ext 总用量 8 -rw-r--r-- 1 root root 86 10月 31 09:39 tb_ext.ctl -rw-r--r-- 1 root root 69 10月 31 09:39 tb_ext.txt [root@localhost dmdba]#
  • 修改目录权限
[root@localhost dmdba]# chown dmdba:dinstall ext [root@localhost dmdba]# ls -ld ext drwxr-xr-x 2 dmdba dinstall 42 10月 31 09:39 ext [root@localhost dmdba]# ls -l ext 总用量 8 -rw-r--r-- 1 root root 86 10月 31 09:39 tb_ext.ctl -rw-r--r-- 1 root root 69 10月 31 09:39 tb_ext.txt
  • 再次查询外部表正常
SQL> select * from dmtest.tb_ext; 行号 ID NAME DT ---------- ----------- ---- ---------- 1 100 abc 2024-01-01 2 101 def 2024-01-03 3 102 xyz 2024-01-05 已用时间: 2.610(毫秒). 执行号:610.
  • 总结
    外部表7082错误可能的原因之一就是目录权限问题,个人理解数据文件只要有读权限即可,但所在目录dmdba一定要有读写权限。
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服