DBAGOD
DBAGOD
应该是在oracle创建表的时候名称用双引号包围起来了 麻烦在oracle查下下面的数据字典视图, select TABLE_NAME from user_tables where upper(table_name)=upper('表名');
麻烦也发下出错的时候在oracle中表名称字符串以及yml配置文件中自定义表名称部分
>  > 这个是配置,我不理解你的意思,在Oracle中表是大写,我首先是只创建表结构不导入数据,这个没有问题,但是在导入数据,有一些表导入失败,我使用手动导入数据,在Mysql 表和Oracle一样是大写的,但是我配置文件不管用大写还是小写,运行的时候,他都会转成小写,就出现找不到表了,我只能在数据库把表名改成小写,才能导入数据. > 还有一个问题,在插入文本出现这个. >  这个是在处理blob大字段类型,麻烦提供下MySQL的版本,以及大概的源库表结构
> 我使用的Mysql是mariaDb/10.11.6版本 请问下,remark这个字段在oracle是什么数据类型
方便的话,麻烦提供下Oracle表结构DDL语句,表名以及列字段你可以做脱敏处理, 请使用下面sql获取oracle数据字典中的表结构发我 select dbms_metadata.get_ddl('TABLE','表名','oracle连接用户名') from dual; 
麻烦把MySQL的text类型改成longtext类型试试
> @iverycd 我Clone你的代码在Win10下面编译,没有改动代码重新编译运行,执行没有报错,数据已经同步正常,感谢你的工具分享,你的工具应该是Linux下编译的?执行就出现问题了? 感谢您提供的表结构,可惜我在本地环境无法复现,后期会对此issue进行深度分析 由于连接Oracle需要使用godror这个库,他不支持跨平台交叉编译,所以我在每个平台上的操作系统上进行了独立编译,Windows编译环境是Win 11 22H2
@AnisJiang 问题我复现出来了,跟golang的编译平台无关,原因是在于MySQL数据库字符集使用了uft8字符集或者列字段属性设置了utf8,之前我个人的环境一直都是utf8mb4,所以没遇到此类问题。另外还是十分感谢您的提问,有啥问题我都会尽快处理 ### 问题场景复现:  ### 问题排查思路: 1、报错中的16进制字符串,解码之后为字符`` ```sql Oracle数据库内16进制转字符串SQL select sys.UTL_raw.cast_to_varchar2('F480808A') from dual; MySQL数据库内16进制转字符串SQL select CONVERT(0xF480808A USING utf8mb4); ```  2、字符``不能存储在utf8字符集的库或者列字段内 原因如下: MySQL 中 utf8 的全名应该叫——utf8mb3(max byte 3),其编码的最大字符能存储为 3...
@WenTao-Love 抱歉,我这里没有oceanbase环境,看来是要在迁移数据前就要把所有ddl拼接好
> @iverycd 这样子,需要改动代码比较多,将原来的tablemeta几个方法都合并在一起? 麻烦空了之后提供下ob数据库中正确创建表的ddl(创建表的时候包含主键或者其他依赖对象示例),在下个版本中我考虑兼容下