OceanBase数据库创建表时,字段不能加双引号?

我从达梦数据库导出的sql文件,表字段都带双引号,通过DBC导入OB数据库时报错,删掉双引号就能正常导入,各位大佬这种问题有没有好的解决方法

1 个赞

一个方案是写个脚本将sql文件中的双引号全部删掉,OB侧是否有其它方案我咨询下这块的老师,有进展回复你

2 个赞

谢谢老师,表比较多,如果手动一个个的单独处理有点费劲,辛苦帮忙问下有没有好的解决方案,谢谢啦。另外我再确认下,OB数据库创建表时,字段就是不能加双引号?

1 个赞

不用手动一个个处理,写个shell或者python脚本,直接遍历所有sql文件处理,效率应该也很高,

OB数据库创建表时,字段就是不能加双引号? --对于MySQL模式是的

2 个赞

oracle 租户和 mysql 租户对于保留字作为表名或列名时的引用转义方法分别兼容 oracle 和 mysql。前者是双引号引用表名或列名,后者是反引号。
达梦导出选的是 oracle 做法(不管是不是保留字),你导入的是 mysql 租户吗?

ob 社区版的能力是 ob 能力的一半,还有一半是兼容 oracle 的 oracle 租户。

3 个赞

楼上说的比较清楚,你应该是导入到Oracle模式吧?MySQL数据库以及OB MySQL模式都不支持表字段双引号写法

1 个赞

谢谢老师,我是达梦导入OB的mysql模式 这个问题已解决。现在又有一个问题:我使用DBC工具导入sql文件报 the max error : “1” is exceeded,loading task will be stop,麻烦问下这个是什么意思

谢谢老师,我是达梦导入OB的mysql模式。现在又有一个问题:我使用DBC工具导入sql文件报 the max error : “1” is exceeded,loading task will be stop,麻烦问下这个是什么意思

可以分享下怎么解决的吗?另外 DBC工具 的报错 看起来是错误太多的意思,如果是sql文件你可以使用obloader导入到OB

不过达梦数据库Oracle兼容性比较好,你直接导入到MySQL模式应该会有不少问题

dbc 工具估计用的人不多,不懂。
你导入到ob就换ob的工具,比如说 odc 。装一个,然后如果 odc 导入sql报错,你发到这里,就有人会回答了。

双引号的问题,好像没有太好的解决办法,我直接在notepad里全局替换的,把双引号都替换成空。第二个问题我字打错了,就是使用的咱们OceanBase的客户端工具,那个sql文件一共才几千行,是因为里面有错误的sql?

我字打错了,就是使用的咱们OceanBase的客户端工具,那个sql文件一共才几千行,是因为里面有错误的sql?

使用的ODC吗?麻烦发下报错截图,另外也发下ODC版本号

ODC版本号4.1.2 看报错有成功有失败的,我又查了一下Oracle和MySQL的差异,改了一些字段类型,算是都导进去了。


但是又有点问题,老师您看您不忙的话能不能帮忙看下,就是我使用Spring Boot 集成OceanBase 一直说找不到包,我拍了几张图,您看下



先build项目,不行再重启IDE 试下
mvn clean build

您的问题解决了吗?如果解决了采纳下您认可的解决方案