【开发问题】flink-cdc不用数据库之间的,不同类型的转化

不同的数据库之期间数据类型转化

问题来源与原因

我一开始是flink-cdc,oracle2Mysql,sql

我一开始直接用的oracle【date】类型,mysql【date】类型,sql的校验通过了,但是真正操作数据的时候报错,告诉我oracle的数据格式的日期数据,不可以直接插入到mysql格式的日期数据,说白了就是数据格式不一致导致的

解决过程,思路错误,导致各种错误

错误思路是什么

我想的是既然格式不对,就自己手动把格式转一下,然后变成mysql认可的格式就好了,这之间,报了很多错误,又是方法不对,又是,方法参数类型不对。反正这个路其实是错误的

错误方式1:

错误方式2:

错误方式3:

各种转化错误

正确解决方式,找官网对应的链接器,数据转化

连接器jdbc的地址

MySQL type Oracle type PostgreSQL type SQL Server type Flink SQL type
TINYINT TINYINT TINYINT
SMALLINT TINYINT UNSIGNED SMALLINT INT2 SMALLSERIAL SERIAL2 SMALLINT SMALLINT
INT MEDIUMINT SMALLINT UNSIGNED INTEGER SERIAL INT INT
BIGINT INT UNSIGNED BIGINT INT UNSIGNED BIGINT BIGINT
BIGINT UNSIGNED DECIMAL(20, 0)
BIGINT BIGINT BIGINT
FLOAT BINARY_FLOAT REAL FLOAT4 REAL FLOAT
DOUBLE DOUBLE PRECISION BINARY_DOUBLE FLOAT8 DOUBLE PRECISION FLOAT DOUBLE
NUMERIC(p, s) DECIMAL(p, s) SMALLINT FLOAT(s) DOUBLE PRECISION REAL NUMBER(p, s) NUMERIC(p, s) DECIMAL(p, s) NUMERIC(p, s) DECIMAL(p, s) DECIMAL(p, s)
BOOLEAN TINYINT(1) BOOLEAN BIT BOOLEAN
DATE DATE DATE DATE DATE
TIME [§] DATE TIME [§] [WITHOUT TIMEZONE] TIME(0) TIME [§] [WITHOUT TIMEZONE]
DATETIME [§] TIMESTAMP [§] [WITHOUT TIMEZONE] TIMESTAMP [§] [WITHOUT TIMEZONE] DATETIME DATETIME2 TIMESTAMP [§] [WITHOUT TIMEZONE]
CHAR(n) VARCHAR(n) TEXT CHAR(n) VARCHAR(n) CLOB CHAR(n) CHARACTER(n) VARCHAR(n) CHARACTER VARYING(n) TEXT CHAR(n) NCHAR(n) VARCHAR(n) NVARCHAR(n) TEXT NTEXT STRING
BINARY VARBINARY BLOB RAW(s) BLOB BYTEA BINARY(n) VARBINARY(n) BYTES
ARRAY ARRAY
相关推荐
奔跑吧邓邓子3 小时前
大数据利器Hadoop:从基础到实战,一篇文章掌握大数据处理精髓!
大数据·hadoop·分布式
说私域4 小时前
基于定制开发与2+1链动模式的商城小程序搭建策略
大数据·小程序
hengzhepa5 小时前
ElasticSearch备考 -- Async search
大数据·学习·elasticsearch·搜索引擎·es
vvvae12345 小时前
分布式数据库
数据库
雪域迷影6 小时前
PostgreSQL Docker Error – 5432: 地址已被占用
数据库·docker·postgresql
GZ_TOGOGO6 小时前
【2024最新】华为HCIE认证考试流程
大数据·人工智能·网络协议·网络安全·华为
bug菌¹7 小时前
滚雪球学Oracle[4.2讲]:PL/SQL基础语法
数据库·oracle
逸巽散人7 小时前
SQL基础教程
数据库·sql·oracle
月空MoonSky7 小时前
Oracle中TRUNC()函数详解
数据库·sql·oracle
momo小菜pa7 小时前
【MySQL 06】表的增删查改
数据库·mysql