免费注册 查看新帖 |

Chinaunix

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

db2存储过程内部怎么调用其他存储过程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-12 09:10 |只看该作者 |倒序浏览
请教数据库高手怎么样在a存储过程调用b存储过程????


test 存储过程:import java.sql.*;                   // JDBC ?
public class Test
{
    public static void test ( int var, ResultSet[] rs ) throws SQLException, Exception
    {
        Connection con = DriverManager.getConnection("jdbc:default:connection";
        PreparedStatement stmt = null;
        String sql;
        sql = "SELECT ADMINISTRATOR.USER.ID AS ID, ADMINISTRATOR.USER.PASSWORD AS PASSWORD,"
            + "    ADMINISTRATOR.USER.NAME AS NAME,  ADMINISTRATOR.USER.EMAIL AS EMAIL"
            + " FROM ADMINISTRATOR.USER"
            + " WHERE ( ADMINISTRATOR.USER.ID =  ?  )";
        stmt = con.prepareStatement( sql );
        stmt.setInt( 1, var );
        rs[0] = stmt.executeQuery();
    }
}   

test1存储过程: */
import java.sql.*;                   // JDBC ?
public class Test1
{
    public static void test1 ( ResultSet[] rs ) throws SQLException, Exception
    {
        Connection con = DriverManager.getConnection("jdbc:default:connection";
        PreparedStatement stmt = null;
        CallableStatement Cstmt = null;
        ResultSet rs1 =null;
        String sql="";
        //-----这段注释了该存储过程能正常构建并运行
        Cstmt =con.prepareCall("{call ADMINISTRATOR.TEST (?) }";
        Cstmt.setInt(1,1);
        rs[1] =Cstmt.executeQuery();//经调试这步开始运行不下去
        while (rs1.next()) {
             String NAME = rs1.getString(2)+"    TEST";
             int ID = rs1.getInt(1);
            }
            rs1.close();   
        Cstmt.close();
        //-----这段注释了该存储过程能正常构建并运行
        sql = "SELECT ADMINISTRATOR.USER.ID AS ID, ADMINISTRATOR.USER.NAME AS NAME,"
            + "    ADMINISTRATOR.USER.PASSWORD AS PASSWORD, ADMINISTRATOR.USER.EMAIL AS EMAIL"
            + " FROM ADMINISTRATOR.USER";
        stmt = con.prepareStatement( sql );
        rs[0] = stmt.executeQuery();
    }
}   
错误信息:
ADMINISTRATOR.TEST1 - 正在调用存储过程。

[IBM][CLI Driver][DB2/NT] SQL4302N  Java 存储过程或用户定义的函数 "ADMINISTRATOR.TEST1",特定名 "SQL050510112005460" 由于异常 "[IBM][CLI Driver][DB2/NT] SQL0" 而异常中止。  SQLSTATE=38501



ADMINISTRATOR.TEST1 - 更改回滚。

ADMINISTRATOR.TEST1 - 调用存储过程完成。

论坛徽章:
0
2 [报告]
发表于 2005-05-12 11:09 |只看该作者

db2存储过程内部怎么调用其他存储过程

论坛徽章:
0
3 [报告]
发表于 2005-05-13 14:12 |只看该作者

db2存储过程内部怎么调用其他存储过程

这个论坛没得人能回答?失望中!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP