注册
关于创建外部表的遇到的问题和解决思路
培训园地/ 文章详情 /

关于创建外部表的遇到的问题和解决思路

DM_441901 2023/09/20 794 0 0

1、测试环境之数据库版本:
图片1.png图片2.png
2、测试环境之操作系统版本:
图片3.png
3、创建外部表的导入数据文件:
[
dmdba@localhost data]$ pwd
/dm8/data
[dmdba@localhost data]$ cat emp.txt
1,m,haifeng,12345@qq.com,1234567890
2,m,haifeng,12345@qq.com,1234567890
3,m,haifeng,12345@qq.com,1234567890
4,m,haifeng,12345@qq.com,1234567890
5,m,haifeng,12345@qq.com,1234567890

4、执行外部表创建和导入数据语句:
create external table EMP(
ID int ,
SEX CHAR(4),
NAME VARCHAR(20),
EMAIL VARCHAR(50),
TEL VARCHAR(16))
FROM DATAFILE '/dm8/data/emp.txt'
parms(fields delimited by ',');

5、出现意外,执行报错!!!!!!!,截图如下:
图片4.png
6、尝试使用控制文件导入,也一样报错,如下:
[dmdba@localhost data]$ cat emp.ctl
load data
infile '/dm8/data/emp.txt'
into table DMTEST.EMP
FIELDS ','
(
ID ,
SEX ,
NAME ,
EMAIL ,
TEL)
)
图片5.png

7、各种查找,各种修改格式和执行语句,无果,最后误打误撞,看到网有人提示说,dm8新版本的数据库不再支持外部表导入数据不配置directory,所以尝试配置,如下:
图片6.png

8、配置好以后,测试两种方式的外部表建立和数据导入,均可以成功
方法1:
图片7.png
图片8.png

方法2:使用控制文件方式图片9.png图片10.png

10、还有一点需要注意:DMTEST用户,需要授权:select any directory和create directory 两个权限

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服