免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3318 | 回复: 2
打印 上一主题 下一主题

postgresql的存储过程,在java中如何使用。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-13 18:23 |只看该作者 |倒序浏览
我写了个过程,如下:
create function aaa() returns void as'
begin
insert into a(1);
return;
end ;
'language plpgsql;

在java中使用如下方式调用

cstmt=conn.prepareCall("{call aaa()});
cstmt.excute();

为什么总是返回类型不对的错误啊?那位高手解释下,是不是要加什么包到工程里的?

论坛徽章:
0
2 [报告]
发表于 2004-01-14 10:25 |只看该作者

postgresql的存储过程,在java中如何使用。

是使用jdbc的包不对,postgresql的版本都有自己的jdbc包

论坛徽章:
0
3 [报告]
发表于 2004-01-14 22:29 |只看该作者

postgresql的存储过程,在java中如何使用。

http://www.chinaunix.net/jh/18/116278.html

POSTGRESQL的JDBC中的存储过程
http://www.chinaunix.net 作者:joint  发表于:2003-07-16 23:29:26

1. 从www.postgresql.org下载最新的postgresql-snapshot.tar.gz, ant from apache;
2. setting ANT_HOME
3. ../configure --with-java; make; make install

FUNCTION 和 JAVA 代码参考了jdbc.postgresql.org mailing list里面的内容.

CREATE TABLE users (id int, name varchar(32));

CREATE OR REPLACE FUNCTION sp_users_select () RETURNS refcursor
    AS '
declare ref refcursor;
begin
open ref for select * from users;
return ref;
end;
' LANGUAGE plpgsql;

import java.lang.*;
import java.sql.*;

public class pc
{
public static void main(String[] args)
throws Exception
{
String driver = "org.postgresql.Driver";
String url = "jdbc:postgresql://localhost:5432/nop";
String user = "nop";
String passwd = "nop";

Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user, passwd);

conn.setAutoCommit(false); // return refcursor must within a transaction

CallableStatement proc = conn.prepareCall("{ ? = call sp_users_select () }";
proc.registerOutParameter(1, Types.OTHER);
proc.execute();

ResultSet result = (ResultSet) proc.getObject(1);
System.out.println(result);

while(result.next())
{
System.err.println("Name : " + result.getString(2));
}

conn.commit();
}
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP