首页 > 数据库 >[个人记录] datax同步Oracle数据到MSSQL - 报错提示插入重复主键

[个人记录] datax同步Oracle数据到MSSQL - 报错提示插入重复主键

时间:2023-10-31 15:00:24浏览次数:39  
标签:主键 插入 报错 datax Oracle 大小写 MSSQL

  之前试着把Oracle的数据同步到MSSQL,表到表的操作,结果提示插入重复主键,在Oracle使用的是rowid插入到MSSQL表的id主键中去,该id设置了主键约束。

  一开始很纳闷,怎么会重复插入主键呢? rowid不是唯一的吗? 因为搞了很久没搞定,换了其他生成主键的方法也没成功,sys_guid ()之类的。

  那就只能在MSSQL创建一张相同的表,去掉了主键约束,这下总不会报错了吧?

  试了下,这会真的没有报错了。后来无意间翻了下之前提示报错重复主键的值,复制下来,往这张表里面一查,居然出现了两条!!

  仔细看了下,这。。。 两条的主键字母都相同,唯一的区别是大小写不同,这下明白了,对Oracle来说,这两个主键都是唯一的(大小写不同),但对MSSQL来说,这两个主键是相同的(不区分大小写,当成一样的了)。

  今天才想起来没记录下来,在此记录下,以免忘记了。

标签:主键,插入,报错,datax,Oracle,大小写,MSSQL
From: https://www.cnblogs.com/WikiChen/p/17800252.html

相关文章

  • Mac 中安装 vue 脚手架后报错 vue: command not found
    解决方案安装node、npm查看npm全局安装位置npmroot-g正确位置/usr/local/lib/node_modules修改位置npmconfigsetprefix/usr/local重新安装脚手架sudonpminstall-g@vue/cli查看vue版本vue-v......
  • 在VScode中执行npm、yarn命令报错解
    在VScode中执行npm、yarn命令报错解我使用的是vnm安装好npm,在Windows+R界面是可以运行查看出版本的;但是在VScode中报错。查了很多资料,我这种情况的原因是在VScode中默认使用的终端是Powershell,然后我切换到系统的cmd则可以运行成功了,具体原因:在VSCode中,它使用的是独立的PowerS......
  • App支付报错"商家订单参数异常,请重新发起付款"排查流程
     今天在对接支付宝APP支付的时候遇到了一个报错,记录下问题的排查过程~  报错过程APP中弹窗提示的报错“商家订单参数异常,请重新发起付款”,检查了下参数感觉没啥问题,不知道是啥问题导致的。 去官网搜了下,折腾排查了一遍,发现是环境问题,没有切到沙箱环境导致的(*/......
  • kingbase初始化报错
    [zjh@hs-10-20-30-193Server]$rm-rfdata[zjh@hs-10-20-30-193Server]$./bin/initdb-DdataThefilesbelongingtothisdatabasesystemwillbeownedbyuser"zjh".Thisusermustalsoowntheserverprocess.Thedatabaseclusterwillbeinitializ......
  • 记一次自增主键id换为随机id
    原始表自增主键为Long类型为了不影响原有逻辑使用触发器新建mysql触发器DROPTRIGGERIFEXISTS`insert_trigger`;DELIMITER//CREATETRIGGERinsert_triggerBEFOREINSERTONuserFOREACHROWBEGINDECLAREnew_idINT;DECLAREtemp_idINT;SETnew_id=FLOOR(RA......
  • Docker_报错:Host key for 47.116.79.175 has changed and you have requested strict
    Hostkeyfor47.116.79.175haschangedandyouhaverequestedstrictchecking.Hostkeyverificationfailed. 问题原因用OpenSSH的人都知ssh会把你每个你访问过计算机的公钥(publickey)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公......
  • 报错:The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more th
    在运行项目的时候遇到了这样一个报错,是数据库的问题但是不知道是什么原因,在网上搜了一下发现只需要在url后面加上serverTimezone=UTC这串代码就行了例如jdbc:mysql://localhost:3306/result?characterEncoding=UTF-8&serverTimezone=UTC ......
  • 使用react-native-drawer,跟着官网配置仍报错,Error: [Reanimated] `valueUnpacker` is
    在使用react-native-drawer组件时,编译项目报错试了许多的方法,最后通过在一篇博客中找到解决方法https://blog.csdn.net/lxyoucan/article/details/121851577因为在使用react-native-drawer时也需要使用react-native-reanimated,需要在babel.config.js增加如下第三行配置,然后重新......
  • Git报错“no branch, rebasing master”
    本次出现这个错误是因为本地提交了commit但是未push成功,所以使用gitpull--rebase,由于远程仓库和本地的commit有冲突,Git无法自动解决冲突时,会切换到一个匿名分支,然后使用gitbranch发现报错“nobranch,rebasingmaster”。解决办法:在当前匿名分支下,解决完冲突,然后使用命令git......
  • 解决MYSQL查询报错 Expression #4 of SELECT list is not in GROUP BY clause and con
    原因:在MySQL5.7.5后,默认开启了ONLY_FULL_GROUP_BY,所以导致了之前的一些SQL无法正常执行,其实,是我们的SQL不规范造成的,因为groupby之后,返回的一些数据是不确定的,所以才会出现这个错误。执行下面的命令后,重启你的代码,就可以了selectversion(),@@sql_mode;SETsql_mode=(SELECTRE......