插入数据报第0参数错误

【 使用环境 】开发环境部署 > 正式环境

【 OB or 其他组件 】

【 使用版本 】5.7.25-OceanBase_CE-v4.3.5.2 > 5.7.25-OceanBase_CE-v4.3.1.0

【问题描述】导出sql在导入后插入数据报错

【复现路径】开发环境使用5.7.25-OceanBase_CE-v4.3.5.2 开发无问题 使用nvicat17用oceanbase连接导出SQL结构及数据无报错,随后到5.7.25-OceanBase_CE-v4.3.1.0 正式环境同样使用nvicat17连接oceanbase 新建数据库字符集都是utf8mb4 导入数据库sql 执行成功无报错,但是正式环境所有的插入都会报错参数对不上,随后使用开发环境的电脑及代码服务带到现场连接正式库发现依旧有这个问题证明不是代码问题,

【附件及日志】

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

1 个赞

推荐使用 obdiag 工具进行日志采集,以便于我们能够更准确地定位问题。

日志采集场景: SQL 执行出错
日志采集命令: obdiag gather scene run --scene=observer.sql_err --env “{db_connect=’-h127.0.0.1 -P2881 -utest@test -p****** -Dtest’, trace_id=‘Yxx’}”

请将采集到的日志提供给我们,以便进一步确认问题所在。另外,为了能够更准确地解决问题,请您提供以下信息:

  1. 具体的错误代码和错误信息是什么?
  2. 导出的 SQL 文件在开发环境中执行是否有任何问题或警告?
  3. 开发环境和正式环境之间的版本差异是否可能影响了 SQL 文件的兼容性?
  4. 能否提供导致错误的 SQL 语句的具体内容?
  5. 在执行插入操作之前,是否对目标表进行了任何结构上的修改?

这些信息将有助于我们更快地定位并解决您的问题。谢谢!

附上敏捷诊断工具 obdiag 使用帮助链接

1 个赞

这是 navicat17 的报错吗?看报错是 spring 的报错,并且设置参数是 orm 框架的行为

随后我在现场又搭建了一个4.3.1.3版本导入sql脚本后就没有这个问题,但是正式主库是多租户模式我搭建的都是mini版本不知道跟这个有没有关系

报错界面是Java的报错日志,使用的MybatisPlus进行数据操作,同样的代码对不同版本的库会发生这种情况,是否多租户也有影响还不清楚