Jfinal使用Druid连接池连接informix数据库时出现奇怪语法报错

发布于 2021-12-07 04:02:48 字数 315 浏览 857 评论 8

完全相同的项目,相同的config,相同的sql代码,在用oracle数据库不会报错,用c3p0也不会报错,只有同时使用druid和informix时才报这个异常
只要涉及到informix数据库访问就报这个异常[ERROR]-[Thread: http-nio-8080-exec-10]-[com.alibaba.druid.pool.DruidDataSource.init()]: init datasource error
java.sql.SQLException: A syntax error has occurred.

@Jfinal 波总求指教!万分感谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

累赘 2021-12-08 19:22:13

麻烦问一下你们的druid连接的informix的版本是什么,我这边一直显示不支持

苍暮颜 2021-12-08 19:15:07

假定你用的方言与 informix 驱动 jar 包都一样,自己写的 sql 也一样,只将 c3p0 替换成了 druid , 那么根据排除法,就得去 druid 找原因了。 看看 druid 官方文档有没有相关内容可以帮助解决

沙与沫 2021-12-08 18:36:49

奇怪就奇怪在不用Jfinal,我同事用Spring,druid,informix,也没问题,所以想问问波总,咱们Jfinal对c3p0和druid有区别对待语法处理吗?

孤独患者 2021-12-08 17:22:37

回复
jfinal 仅仅是直接将 sql 与参数扔给 druid或c3p0而已,绝对没有区别对待。 你提到 spring 支持,那么看一下spring下用的哪个druid版本,在jfinal下也换成这个版本即可

凌乱心跳 2021-12-08 16:56:57

波总,我就是一直用AnsiSqlDialect来连接informix数据库的,在c3p0连接池没有任何问题,为什么换了druid就会出错呢? @JFinal

把昨日还给我 2021-12-08 13:32:37

得配置 informix 的方言,但 jfinal 默认是没有提供 informix 的方言的,你可以参考 AnsiSqlDialect 写一个 InforMixDialect,然后配置一下:

activeRecordPlugin.setDialect(new InformixDialect());

    如果懒得写这个方言, 可以先使用 AnsiSqlDialect 用一下,这个方言支持所有符合 ANSI Sql 标准的数据库。还有一个办法是在网上搜索一下针对 jfinal 写的 informix 的方言,我记得有人写过并开源了

泛泛之交 2021-12-07 20:03:22

把你的这条回复设置为最佳答案,会被置顶。 这样后来人在碰到这个问题就可以快速解决掉了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文