开发者社区> 问答> 正文

java代码调用postgreSQL中的存储过程(Procedure)报错的问题

使用postgreSql11.1版本的数据库在使用java JDBC的prepareCall方法加execute方法调用带有Procedure关键字的存储过程时会报错如下:

ERROR: p_test_login_log(character varying) is a procedure

建议:To call a procedure, use CALL.

位置:15

但是将原逻辑的Procedure关键字改成function关键字的函数就可以调用成功,请问有大家有遇到过的么,求解决办法。 驱动版本用的是org.postgresql的42.2.5.jre7版本。

展开
收起
kun坤 2019-11-28 12:04:25 4479 0
3 条回答
写回答
取消 提交回答
  • 将prepareCall(“{call test_pro()}”)里面的大括号去掉就可以了,这个是jdbc的转义符,pg不识别,不能自动转换

    2023-03-10 11:23:32
    赞同 展开评论 打赏
  • 你好,想问下有解决办法没,我也遇到这个问题了。

    2022-09-20 10:29:12
    赞同 展开评论 打赏
  • 您好,QQ群:5276420和QQ群:254622631也是我们的postgres专业技术讨论群,您可以申请加入。谢谢你们的支持!

    2019-11-28 12:04:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgreSQL 物联网六脉神剑 立即下载
PostgreSQL在哈啰的实践-周飞 立即下载
PostgreSQL高并发数据库应用数据 立即下载

相关镜像