IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Oracle问题记录 -> 正文阅读

[大数据]Oracle问题记录

概述

只稍微熟悉MySQL,但是不可避免会使用Oracle,此文记录Oracle使用问题。

问题

获取版本号

SELECT version FROM PRODUCT_COMPONENT_VERSION WHERE product LIKE 'Oracle Database%';
输出:19.0.0.0.0

字段最大长度

和通用SQL类似:select max(length(C_LONG_COMMENTS))from SYSADM.C_BATCH_TBL;

ORA-00942:表或视图不存在

在这里插入图片描述
很简单的Select查询语句,报错如上。数据库owner坚称表或视图存在。

原因:连接该数据库的用户没有查看该表或视图的权限,故而报错。需要联系数据库owner,或管理员添加权限。

另,在获得权限后,DataGrip依旧是红色警告,点击SYSADM,确实看不到表或视图,但是不影响SQL查询获取结果。

ORA-00911:无效字符

在这里插入图片描述
复制到DataGrip里面,\r\n没有变成回车换行,居然报错。SQL在JDBC程序里面执行是没有问题的。

ORA-00933:SQL command not properly ended

一段简单的SQL查询语句放在DataGrip执行成功,但是在JDBC代码里面执行失败:

select C_BATCH_ID from SYSADM.C_BATCH_TBL;

在这里插入图片描述
断点调试,发现原因居然是多了一个;!!!!
在这里插入图片描述

数据同步

Oracle到MySQL的数据同步。

大小写

在这里插入图片描述
Oracle自动将查询的结果变成大写,同步到MySQL,表字段定义允许是下划线命名的。

时间戳BatchUpdateException: Data truncation: Incorrect datetime value

Oracle的时间戳数据支持毫秒数
在这里插入图片描述
同步到MySQL时,不管MySQL字段定义为timestamp还是varchar,同步数据都会报错:

java.lang.Exception: java.lang.Exception: java.sql.BatchUpdateException: Data truncation: Incorrect datetime value: '\\xAC\\xED\\x00\\x05sr\\x00\\x14oracle.sql.TIMESTAMP\\x91w\\x95\\xC2\\x99Ud\\x1F\\x02\\x00\\x00xr\\x00\\x10oracle.sql.Datum@x\\xF5\\x14\\xA3b(o\\x02' for column 'CREATEDTTM' at row 1
java.lang.Exception: java.lang.Exception: java.sql.BatchUpdateException: Incorrect string value: '\\xAC\\xED\\x00\\x05sr...' for column 'CREATEDTTM' at row 1

解决方法:
TO_CHAR(CREATEDTTM, 'YYYY-MM-DD HH24:MI:SS') as CREATEDTTM

clob类型序列化问题NotSerializableException: oracle.jdbc.driver.T4CConnection

在这里插入图片描述
Oracle字段定义为CLOB,MySQL定义为varchar或text,都会报错:

2021-12-21 11:47:33,257 [http-nio-8082-exec-3] INFO  c.x.c.a.b.s.DataProviderService- execAutoWork
java.lang.Exception: java.lang.Exception: java.sql.SQLException: Invalid argument value: java.io.NotSerializableException
Caused by: java.lang.Exception: java.sql.SQLException: Invalid argument value: java.io.NotSerializableException
Caused by: java.sql.SQLException: Invalid argument value: java.io.NotSerializableException
Caused by: com.mysql.cj.exceptions.WrongArgumentException: Invalid argument value: java.io.NotSerializableException
Caused by: java.io.NotSerializableException: oracle.jdbc.driver.T4CConnection

解决方法:
CAST(C_LONG_COMMENTS AS VARCHAR2(3000)) as C_LONG_COMMENTS

参考

Oracle to MySQL timestamp conversion in MySQL insert statement
NotSerializableException while getting CLOB data from ORACLE using JDBC

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-23 15:49:12  更:2021-12-23 15:51:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:29:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码