首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从Vertx3中的Postgres存储过程返回值

无法从Vertx3中的Postgres存储过程返回值
EN

Stack Overflow用户
提问于 2016-01-21 20:44:45
回答 1查看 358关注 0票数 1

我似乎无法从postgres db...any中获得返回值,你有办法解决这个问题吗?

代码语言:javascript
复制
JsonArray outParam = new JsonArray().add("integer");

connection.callWithParams(spAddUser, params, outParam, response -> {

    if (response.succeeded()) {
        ResultSet result = response.result();
    ...

我收到这个错误,说:

代码语言:javascript
复制
org.postgresql.util.PSQLException: No function outputs were registered.
at org.postgresql.jdbc.PgStatement.checkIndex(PgStatement.java:2208)
at org.postgresql.jdbc.PgStatement.checkIndex(PgStatement.java:2191)
at org.postgresql.jdbc.PgStatement.getObject(PgStatement.java:2088)
at com.mchange.v2.c3p0.impl.NewProxyCallableStatement.getObject(NewProxyCallableStatement.java:172)
at io.vertx.ext.jdbc.impl.actions.JDBCCallable.convertOutputs(JDBCCallable.java:83)
at io.vertx.ext.jdbc.impl.actions.JDBCCallable.execute(JDBCCallable.java:59)
at io.vertx.ext.jdbc.impl.actions.JDBCCallable.execute(JDBCCallable.java:33)
at io.vertx.ext.jdbc.impl.actions.AbstractJDBCAction.handle(AbstractJDBCAction.java:48)

下面是我的示例存储过程:

代码语言:javascript
复制
create or replace function addUser(_acid int, _slno int, _dob date)
returns int as $$

    insert into users (acid,slno,dob)
    values (_acid, _slno, _dob)
    returning uid;
$$ language sql;
EN

回答 1

Stack Overflow用户

发布于 2016-01-22 16:43:55

我发现如果没有在我的存储过程中使用IN/OUT,我不需要传入输出参数。因此,将输出参数设置为null可以解决此问题。

代码语言:javascript
复制
connection.callWithParams(spAddUser, params, null, response -> {

if (response.succeeded()) {
    ResultSet result = response.result();
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34924224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档