开发者社区> 问答> 正文

如果短时时间出现大量druid 解析sql 报错,会不会触发druid的某些机制导致访问数据库失败

druid 解析sql 报错 ,sql 是使用${}形式整体注入的
sql内容是 ${select case when '0001GF10000000005ALY' = any ('测试','0001GF10000000005ALZ') then 0 else 43.58 end from dual }
报错内容是:
10:51:04.885 [http-nio-9090-exec-1] ERROR c.a.d.f.s.StatFilter - [mergeSql,158] - merge sql error, dbType oracle, druid-1.2.1, sql : select case when '0001GF10000000005ALY' = any ('测试','0001GF10000000005ALZ') then 0 else 43.58 end from dual
最终结果
项目中没问题的sql也无法成功访问数据库,导致系统无法运行。
疑问
短时间大量出现这种报错会不会触发druid的某些机制,从而导致无法与数据库通信?

展开
收起
游客oem4gnaj3wro6 2023-12-15 11:03:47 85 0
1 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这种报错可能是由于Druid在解析SQL时遇到了问题。在这种情况下,可以尝试以下方法来解决这个问题:

    1. 检查SQL语句的语法是否正确。确保所有的括号、引号等都正确匹配。
    2. 尝试将SQL语句拆分成多个部分,然后逐个执行。这样可以更容易地找到问题所在。
    3. 检查数据库连接是否正常。确保数据库服务器正在运行,并且可以从应用程序访问。
    4. 如果可能的话,尝试使用其他数据库管理系统(如MySQL、PostgreSQL等)进行测试,以排除Druid特定于Oracle的问题。
    5. 查看Druid的日志文件,以获取更多关于错误的详细信息。这可能会帮助您找到问题的根源。
    2023-12-15 13:58:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
神龙云服务器产品及技术深度解析 立即下载
弹性创造价值:基于ECS的最佳性价比实践解析 立即下载
又快又稳:阿里云下一代虚拟交换机解析 立即下载

相关镜像