达梦数据库 创建外部表 [-7082]:外部表数据错误.

1:定义

外部表,是指不存在于数据库中的表。通过向达梦提供描述外部表的元数据,可以把一
个操作系统文件当成一个只读的数据库表,就像这些数据存储在一个普通数据库表中一样来
进行访问。
外部表的数据存储在操作系统中,是操作系统文件,建立外部表的时候,不会产生段,
页簇等存储结构,只有与表相关的定义放在数据字典中。在数据库中不能对外部表的内容进
行修改,不能对外部表建立主键,索引,外键。不需要将外部表的数据载入到数据库中
来,通过 sql 解码器来访问外部表

2:如何建立外部表:

案例1:
1、数据文件

[dmdba@localhost opt]$ vi a.txt
[dmdba@localhost opt]$ cat a.txt
序号,内容
1,AAAA
2,BBBBB
3,DD
4,CCCC
5,FF
6,WERWRWRW
7,iiiii
8,nnnnn
9,SER
10,EWDEWRWRWRWRWEEEEEEEEEEEEEEEEEEEEEEEE
[dmdba@localhost opt]$ 

2:控制文件

[dmdba@localhost opt]$ vi a.ctl
[dmdba@dw01:/opt]$ cat a.ctl
LOAD DATA
INFILE 'a.txt'
INTO TABLE TEST.EXT
FIELDS ','

3:创建目录

SQL> create directory extdir as '/opt/'   ;
操作已执行

4:创建外部表

SQL> create external table test.ext(id int,name varchar(20)) from default direct                                                                                                  ory extdir location('a.ctl');
操作已执行
已用时间: 10.564(毫秒). 执行号:403.

5:验证结果:

SQL> select * from test.ext;
select * from test.ext;
[-7082]:外部表数据错误.
已用时间: 6.835(毫秒). 执行号:0.
SQL>

错误原因:

1: 表定义
表定义的test.ext(id int,name varchar(20)),varchar为20,但是a.txt中有一个记录明显超过20。

修改表定义:发现外部表的表定义无法修改

删除重建

SQL> drop table TEST.EXT;
操作已执行
已用时间: 128.774(毫秒). 执行号:708.
SQL> create external table test.ext(id int,name varchar(60)) from default directory extdir location('a.ctl');
操作已执行
已用时间: 39.210(毫秒). 执行号:709.
SQL>

2:a.txt表里面有表头 ,加载的时候需要去掉表头
修改控制文件, 加skip表头

[dmdba@dw01:/opt]$ vi a.ctl
[dmdba@dw01:/opt]$ cat a.ctl
options(
skip=1
)
LOAD DATA
INFILE 'a.txt'
INTO TABLE TEST.EXT
FIELDS ','
[dmdba@dw01:/opt]$

3:检查权限
a.txt 以及 a.ctl均在/opt路径下,赋予dmdba权限

[root@dw01:/opt]$ chown -R dmdba:dinstall /opt
[root@dw01:/opt]$ chmod -R 777 /opt

4:检查创建的目录是否错误:


SQL> create directory extdir as '/opt/'   ;

修改为/opt

SQL>  drop directory extdir;
SQL> create directory extdir as '/opt'   ;SQL> select * from dba_directories;行号     OWNER DIRECTORY_NAME DIRECTORY_PATH
---------- ----- -------------- --------------
1          SYS   EXTDIR         /opt已用时间: 1.155(毫秒). 执行号:804.
SQL>

修改完毕后查询

SQL> select * from test.ext;行号     ID          NAME
---------- ----------- -------------------------------------
1          1           AAAA
2          2           BBBBB
3          3           DD
4          4           CCCC
5          5           FF
6          6           WERWRWRW
7          7           iiiii
8          8           nnnnn
9          9           SER
10         10          EWDEWRWRWRWRWEEEEEEEEEEEEEEEEEEEEEEEE10 rows got

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/778291.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NineData与StarRocks商业化运营公司镜舟科技完成产品兼容认证

近日,镜舟科技与NineData完成产品兼容测试。在经过联合测试后,镜舟科技旗下产品与NineData云原生智能数据管理平台完全兼容,整体运行高效稳定。 镜舟科技致力于帮助中国企业构建卓越的数据分析系统,打造独具竞争力的“数据护城河”…

专题:一个自制代码生成器(嵌入式脚本语言)之模型开发

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 专题:一个自制代码…

FFMPEG对于处理rtp流出现马赛克问题处理

背景 本项目是基于FFMPEG 3.3版本进行的开发。 近期5G发展迅速,无线集群中的带宽不再是瓶颈,对于视频质量的要求也越来越高,现在使用720P、1080P、2K、4K进行视频通话成为了日常。 问题描述 本项目之前对于CIF和VGA格式的视频进行录…

Spring Boot 一些常用的高级特性

Spring Boot 提供了许多高级特性,这些特性旨在简化开发流程、提高开发效率、增强应用的功能和性能。下面是一些重要的高级特性: 1. 自动配置(Auto-configuration) Spring Boot 的自动配置尝试根据添加到项目中的jar依赖自动配置…

通过 key 管理状态

Vue 默认按照“就地更新”的策略来更新通过 v-for 渲染的元素列表。当数据项的顺序改变时,Vue 不会随之移动 DOM 元素的顺序,而是就地更新每个元素,确保它们在原本指定的索引位置上渲染。 默认模式是高效的,但只适用于列表渲染输…

【python 数据可视化】 WordCloud词云图

目录 词云简介 准备工作 安装方法一: 安装方法二: 生成词云步骤 数据预处理: 分词: 统计词频出现的次数: 去除词语: 生成词云: 显示词云: 保存词云: 完整代码 词…

AugmentedReality之路-通过蓝图启动AR相机(2)

本文实现打开AR相机和关闭AR相机功能,在主界面点击Start AR按钮后打开AR相机,在主界面点击Stop AR按钮后关闭AR相机 1、启动AR相关插件 通过Edit->Plugins启用AugmentedReality下面的所有插件 2、自定义Pawn 在Content->ARBase目录右键&…

iOS开发进阶(十一):ViewController 控制器详解

文章目录 一、前言二、UIViewController三、UINavigationController四、UITabBarController五、UIPageViewController六、拓展阅读 一、前言 iOS 界面开发最重要的首属ViewController和View,ViewController是View的控制器,也就是一般的页面,…

Hive详解(3)

Hive 数据类型 struct类型 struct:结构体,对应了Java中的对象,实际上是将数据以json形式来进行存储和处理 案例 原始数据 a tom,19,male amy,18,female b bob,18,male john,18,male c lucy,19,female lily,19,female d henry,18,male davi…

基于ssm网上服装销售系统论文

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于网上服装销售系统系统当然也不能排除在外,随着网络技术的不断成熟,带动了网上服装销售系统系统,它彻底…

UNDERSTANDING HTML WITH LARGE LANGUAGE MODELS

UNDERSTANDING HTML WITH LARGE LANGUAGE MODELS 相关链接:arXiv 关键字:大型语言模型、HTML理解、Web自动化、自然语言处理、机器学习 摘要 大型语言模型(LLMs)在各种自然语言任务上表现出色。然而,它们在HTML理解方…

【JS笔记】JavaScript语法 《基础+重点》 知识内容,快速上手(六)

面向对象OOP 首先,我们要明确,面向对象不是语法,是一个思想,是一种 编程模式面向: 面(脸),向(朝着)面向过程: 脸朝着过程 》 关注着过程的编程模…

shell脚本发布docker springboot项目示例

docker、git、Maven、jdk8安装略过。 使git pull或者git push不需要输入密码操作方法 约定: 路径:/opt/springbootdemo, 项目:springbootdemo, 打包:springbootdemo.jar, docker容器名字&#x…

Netty 代理TCP 转发集群方案

使用 Netty 自定义协议连接物联网设备,业务增大之后,势必需要使用集群方案。 #nginx负载均衡 Nginx 1.9 已经支持 TCP 代理和负载均衡,并可以通过一致性哈希算法将连接均匀的分配到所有的服务器上。 修改配置文件 http{ … } stream{ ups…

Android ImageView以及实现截图

实现效果 截图前 截图后 代码 package cn.jj.huaweiad;import android.annotation.SuppressLint; import android.graphics.Bitmap; import android.os.Bundle; import android.os.Handler; import android.util.Log; import android.view.View; import android.view.ViewGro…

硬件项目中的turn-key 是啥意思?案例应用

在硬件项目中,turn-key是指一种工程项目模式,即交钥匙工程。这种模式通常由独立的第三方软件厂商直接与芯片厂商合作,基于芯片厂商的硬件方案和协议,集成成熟的上层软件和应用,并整套提供给电子产品生产厂商。这种模式…

LLM之RAG实战(三十五)| 使用LangChain的3种query扩展来优化RAG

RAG有时无法从矢量数据库中检索到正确的文档。比如我们问如下问题: 从1980年到1990年,国际象棋的规则是什么? RAG在矢量数据库中进行相似性搜索,来查询与国际象棋规则问题相关的相关文档。然而,在某些情况下&#xff0…

Ioc容器创建 和 读取组件的测试类

A接口 package com.atguigu.Ioc_03;public interface A {void dowork(); }HappyComponent.java package com.atguigu.Ioc_03;public class HappyComponent implements A {// 默认包含无参的构造方法Overridepublic void dowork() {System.out.println("我是:…

平台介绍-搭建赛事运营平台(3)

上文介绍了品牌隔离的基本原理,就是通过不同的前端和微服务来实现。但是确实很多功能是类似的,所以从编程角度还是有些管理手段的。 前端部分:前端部分没有什么特别手段,就是两个独立的项目工程,分别维护。相同的部分复…

I.MX6ULL_Linux_驱动篇(55)linux 网络驱动

网络驱动是 linux 里面驱动三巨头之一, linux 下的网络功能非常强大,嵌入式 linux 中也常常用到网络功能。前面我们已经讲过了字符设备驱动和块设备驱动,本章我们就来学习一下linux 里面的网络设备驱动。 嵌入式网络简介 网络硬件接口 首先…