【开发问题】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
相关推荐
爱吃牛肉的大老虎6 分钟前
Redis之分布式 Session问题
数据库·redis·分布式
guo_wen_qiang9 分钟前
mongodb集群模式的原理
服务器·数据库·mongodb
captain37612 分钟前
Spring Boot日志
java·数据库·spring boot
阿标在干嘛17 分钟前
分布式锁的“场景适配“:我们为什么在部分链路中选择了数据库乐观锁?
数据库·分布式
jiidd18 分钟前
关于SQL SERVICE数据库里换行问题
数据库·sql·oracle
java_nnnn21 分钟前
数据库读写分离与 Redis 缓存:从 MySQL 查询压力到缓存机制
数据库·redis·缓存
KKKlucifer28 分钟前
数据安全管控平台运营化关键技术:从策略下发到闭环治理
大数据·人工智能·产品运营
金仓社区的KK35 分钟前
数据库主备切换后,业务恢复了吗?五层验收清单
数据库·云计算·软件构建
秉寒-CHO37 分钟前
从 ClickHouse 到 StarRocks:我在真实业务中怎么选明细、聚合、主键模型
大数据·clickhouse
zoyation37 分钟前
HBase 2.5.16 单机部署
大数据·数据库·hbase