我在oracle定义了一个包pakeage1,里面定义了一个过程A,一个函数B,为什么在JAVA中调用pakeage1.A是可以的,为什么调用pakeage1.B就提示B不是过程或尚未定义的错误呢。在网上找了老长时间了,大家都说JAVA中可以调用自定义函数。为什么我这个不可以,是不是JAVA中只可调用自定义过程,而不可调自定义函数呢?可以的话应该怎么调,望高手指教。急。。

解决方案 »

  1.   

    String sql = "{? = call pakeage1.B(参数此处省略)}";
    CallableStatement stmt = connection.prepareCall(sql);
    stmt.registerOutParameter(1, oracle.jdbc.driver.OracleTypes.CURSOR);
    stmt.execute();//调过程此步没错,调函数此步就出错了。跟网数多数人说的调用方式一样啊。可对函数来说就是不行。
      

  2.   

    将oracle.jdbc.driver.OracleTypes.CURSOR改为Types.CURSOR试试
      

  3.   

    http://www.pcvz.com/Program/Programs/Java/JavaJC/Program_92068.html