【现场问题】flink-cdc,Oracle2Mysql的坑,Oracle区分大小写导致

news2024/12/27 22:41:06

大小写导致的问题

  • 错误的flink-cdc语句sql
    • 我们看一下oracle的数据库字段
    • 再看一下错误sql里面的内容
    • flink报错内容
  • 正确的sql
      • 三级目录

错误的flink-cdc语句sql

CREATE TABLE t_wx_source_1 (
    id String,
    name String,
    age String
) WITH (
    'connector' = 'oracle-cdc',
    'hostname' = '192.168.1.135',
    'port' = '1521',
    'username' = 'flink',
    'password' = 'XXXXX',
    'database-name' = 'dbc',
    'schema-name' = 'FLINK',
    'table-name' = 't_wx_source_2'
);
CREATE TABLE t_wx_target (
    id String Not Null,
    name String,
    age String,
    PRIMARY KEY(id) NOT ENFORCED
) WITH (
    'connector' = 'jdbc',
    'url' = 'jdbc:mysql://192.168.1.91:3306/test',
    'table-name' = 't_wx_target_1',
    'username' = 'root',
    'password' = 'XXXXX',
    'driver' =  'com.mysql.cj.jdbc.Driver'
);
insert into t_wx_target select id,name,age from t_wx_source_1;

我们看一下oracle的数据库字段

在这里插入图片描述

再看一下错误sql里面的内容

在这里插入图片描述

flink报错内容

在这里插入图片描述
Column ‘id’ is NOT NULL, however, a null value is being written into it. You can set job configuration ‘table.exec.sink.not-null-enforcer’=‘DROP’ to suppress this exception and drop such records silently
大致意思就是不能插入为空的数值。
为什么会报这个错误,我们来看DML的执行语句:
insert into t_wx_target select id,name,age from t_wx_source_1;
在这里插入图片描述

每次数据都是null,然后我们的sink(t_wx_target )表里面的字段id,是非空字段,所以就报错了
在这里插入图片描述

正确的sql

CREATE TABLE t_wx_source_1 (
    id String NOT NULL,
    name String,
    age String
) WITH (
    'connector' = 'oracle-cdc',
    'hostname' = '192.168.1.135',
    'port' = '1521',
    'username' = 'flink',
    'password' = 'XXXX',
    'database-name' = 'dbc',
    'schema-name' = 'FLINK',
    'table-name' = 't_wx_source_2'
);
CREATE TABLE t_wx_target (
    id String,
    name String,
    age String,
    PRIMARY KEY(id) NOT ENFORCED
) WITH (
    'connector' = 'jdbc',
    'url' = 'jdbc:mysql://192.168.1.91:3306/test',
    'table-name' = 't_wx_target_1',
    'username' = 'root',
    'password' = 'XXXXXX',
    'driver' =  'com.mysql.cj.jdbc.Driver'
);
insert into t_wx_target select id,name,age from t_wx_source_1;

三级目录

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

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

相关文章

U-Boot移植 (3)- uboot启动Linux内核测试

文章目录 1. bootcmd 和 bootargs 环境变量1.1 环境变量 bootcmd1.2 环境变量 bootargs 2. uboot 启动 Linux 测试2.1 从 EMMC 启动 Linux 系统2.2 从网络启动 Linux 系统 3. 总结 1. bootcmd 和 bootargs 环境变量 1.1 环境变量 bootcmd bootcmd 保存着 uboot 默认命令&…

Netty专题:netty概述,及丢弃协议服务(1)

Netty 是一个 Java NIO 客户端服务器框架,使用它可以快速简单地开发网络应用程序,比如服务器和客户端的协议。Netty 大大简化了网络程序的开发过程比如 TCP 和 UDP 的 socket 服务的开发。 JDK 原生 NIO 程序的问题 JDK 原生也有一套网络应用程序 API&…

秋招算法岗c++面经

目录 1、指针与引用的区别 2.const关键字 3.重载和重写(覆盖)的区别 4.new和malloc的区别(new封装了malloc) 5.static和const的区别 6. c三大特性 7.虚函数 8.纯虚函数 9.虚继承 10. 智能指针 11. 内存泄漏 12.c的内存分布 13.STL介绍 1、指针与引用的区别 指针存…

【Web3】认识NFT

NFT(非同质化代币)在Web3中扮演着重要的角色。Web3是指下一代互联网,它建立在区块链技术之上,旨在实现更加去中心化、透明和用户掌控的互联网。 NFT在Web3的一些重要作用: 唯一性和可证明稀缺性:NFT是一种…

vscode突然不能输入中文句号,怎么办

vscode突然不能输入中文句号,怎么办? 敲代码敲得好好的,突然无论打句号,出来的都是英文的句号,无法打出中文的句号, 让人着实着急。。。 记录一下解决办法: Ctrl 句号,然后再测试一下&…

JavaWeb 速通HTML(常用标签汇总及演示)

目录 一、拾枝杂谈 1.网页组成 : 1 结构 2 表现 3 行为 2.HTML入门 : 1 基本介绍 2.基本结构 : 3.HTML标签 : 1 基本说明 2 注意事项 二、常用标签汇总及演示 1.font标签 : 1 定义 2 演示 2.字符实体 : 1 定义 2 演示 3.标题标签 : 1 定义 2 演示 4. 超链接标签 : 1…

香薰市场分析:天猫香薰销售额近7.2亿,市场增长潜力大

在Z世代崛起的背景下,香薰作为能够调节情绪,提升生活品质的产品,备受市场青睐。作为一种健康、美容、舒缓压力的新兴行业,香薰市场也形成了自己的特色和竞争力,其发展前景十分广阔。 根据鲸参谋电商数据分析平台的相关…

Redis集群主从复制哨兵

环境配置: 一主二从 从机配置 主机查看 真实的主从配置应该在配置文件中配置,才是永久的 没哨兵的情况下,主机断开后。从机不会默认升级为主节点。需要手动配置。主机在启动后。依赖可以正常使用。从机断开后,期间主机写入东西&am…

探索HTML的黑科技:让你的网页变得无与伦比!

文章目录 1. 使用语义化标签2. 嵌套标签正确闭合3. 使用无障碍(Accessibility)特性4. 利用表单验证5. 使用内联 SVG6. 优化图像加载7. 优化 CSS 和 JavaScript8. 使用响应式设计9. 使用嵌入式视频和音频10. SEO 优化 以下是十个常用的 HTML 技巧&#xf…

SpringBoot整合Redis哨兵模式

文章目录 1、Redis哨兵复习2、整合3、简单举例4、RedisTemplate详解5、补充 1、Redis哨兵复习 Redis哨兵主要有三点作用: 监控:不断检查master和slave是否正常运行通知:当被监控的主从服务器发生问题时,向其他哨兵和客户端发送通…

当量因子法、InVEST、SolVES模型等多技术融合在生态系统服务功能社会价值评估

第一章 理论基础与研究热点分析 1. 生态系统服务与生态系统服务价值介绍 ​ 2. 生态系统服务价值研究方法 3. 生态系统服务价值研究热点 Citespace文献可视化分析 VOSviewer文献可视化分析 第二章 空间数据来源及预处理 1. 空间数据简介 2. ArcGIS Pro数据采集与分析 数…

直流运算放大器-----四种反馈电路(一)

目录 电压串联负反馈 电路图 计算公式 仿真 电压并联负反馈 电路图 计算公式 仿真 电流串联负反馈 电路图 计算公式 仿真 电流并联负反馈 电路图 计算公式 仿真 电压电流,串联并联反馈区分 电压串联负反馈 电路图 计算公式 仿真 因为是二倍放大&#x…

Spring boot +React集成ChatGPT 智能AI

在这里插入代码片import {Button, Input, Radio,Alert,Modal } from antd; import Marquee from react-fast-marquee; import {ChromeOutlined,WifiOutlined,AimOutlined } from ant-design/icons; import React, {useEffect, useState, useRef} from react; import chatgptPn…

MIT 6.S081 Lab Seven -- 多线程

MIT 6.S081 Lab Seven -- 多线程 引言MultithreadingUthread: switching between threads (moderate)代码解析补充 Using threads (moderate)代码解析 Barrier(moderate)代码解析 引言 本文为 MIT 6.S081 2020 操作系统 实验七解析。 MIT 6.S081课程前置基础参考: 基于RISC-V…

【C++初阶】12. Stack(栈)和Queue(队列)

1. 栈和队列的介绍 栈的介绍 队列的介绍 2. 栈和队列的使用 最小栈 栈的压入、弹出序列 逆波兰表达式求值 拓展:如何从中缀变为后缀 3. 两种设计模式 设计模式目前分为26种,这里就只介绍两种 适配器模式迭代器模式 在日常生活中,我们常…

Vue生态及实践 - Vue Router(1)

目录 路由 Vue-Router Mode Hash Mode HTML5 Mode 代码实操 目标是替换掉原版的vue-router 路由 路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动。 ——wikipedia Vue-Router 传统web开发路由是后端控制的 随着ajax技术的…

【代理服务器】Squid 反向代理与Nginx缓存代理

目录 一、Squid 反向代理1.1工作机制1.2反向代理实验1.3清空iptables规则,关闭防火墙1.4验证 二、使用Nginx做反向代理缓存服务器三CDN简介3.1什么是CDN3.1CDN工作原理 一、Squid 反向代理 如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的…

基于Surprise协同过滤实现短视频推荐

前言 前面一文介绍了通过基础的web项目结构实现简单的内容推荐,与其说那个是推荐不如说是一个排序算法。因为热度计算方式虽然解决了内容的时效质量动态化。但是相对用户而言,大家看到的都是几乎一致的内容(不一样也可能只是某时间里某视频的…

准确率 99.9% 的离线IP地址定位库

Ip2region 是一个离线 IP 地址定位库,准确率高达 99.9%,搜索性能为 0.0x 毫秒。DB 文件只有几兆字节,其中存储了所有 IP 地址。 支持 Java、PHP、C、Python、Nodejs、Golang、C#、lua 等查询绑定。查询算法使用二叉树、B树和内存搜索算法。 …

基于Java乡镇篮球队管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…