但是我在pl/sql中是可以执行的,
我就是不明白,为什么在pl/sql中可以执行,而程序中不能执行。

解决方案 »

  1.   

    你把程序调用的代码和PL/SQL里调用的代码贴出看看
      

  2.   

    String seqSql="select clspuser.sq_acc_info.nextval from dual";
    ps = conn.prepareStatement(seqSql, ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    rs=ps.executeQuery();
    Object obj=null;
    while(rs.next()) {
    obj=rs.getObject(1);
    }
    if(obj!=null){
    seq=obj.toString();
    }
    PL/SQL执行没有问题。
      

  3.   

    代码使用的用户和我执行SQL的用户是一样的。
      

  4.   

    如果不是权限的问题的话,从你贴出来的代码看没什么问题。可你还是没有将PL/SQL的部分代码贴出来。你确定clspuser.sq_acc_info这里的用户名clspuser和序列名sq_acc_info没写错?
      

  5.   

    为了避免不是因为搞错用户或权限之类的问题,建议代码中先直接用system用户或者B用户来测试看看。然后再检查什么拼写错误之类的问题。
      

  6.   

    我也是啊,今天碰到了这个问题,pl里执行时ok的,但是放到代码里执行总是报序列不存在,郁闷死了
      

  7.   

    我也遇到这个情况,给一个表的主键ID做自增长做了个序列,往表里面查数据都能够实现自增长,但是另外用SELECT查询序列当前值或者下一个值时就给我说序列不存在~~~