private CallableStatement proc = null;
  proc = conn.prepareCall("{call proc_page(?,?,?,?)}");  我想用JDBC的一个stored procedure来实现个分页功能,用了上面这两行代码,但是运行时候报异常:
  com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: FUNCTION proc_page does not exist  说没有这个jdbc4中没有procedure call proc_page, 难道jdbc4中把这个procedure用其他名字替换了?我想不太可能吧。  所以我问题有2个。
  1: 有哪位高手知道为什么会报这个异常吗?
  2: java api上关于CallableStatement说:The JDBC API provides a stored procedure SQL escape syntax that allows stored procedures to be called in a standard way for all RDBMSs. 
      有哪位高手能告诉我那里能查到所有的stored procedure的名字和用法吗?  谢谢 

解决方案 »

  1.   

    我看网上好多DataBean封装数据库操作都用了proc_page这个stored procedure来实现分页的,我也不知道为什么会报FUNCTION proc_page does not exist这种异常,,在google和baidu都搜了这个异常也没发现什么有用的答案,看CSDN上的高手们能不能帮小弟解决这个问题了,,不胜感激!
      

  2.   

    看一下数据库中有没有这个存储过程?什么数据库?MYSQL:show procedure status;
      

  3.   

    谢谢楼上回复,,我用的是mysql,我登陆试了show procedure status,显示是Empty set <0.01 sec>。似乎也没什么用。
      

  4.   

    Empty set说明数据库中不存在存储过程。
      

  5.   

    恩,,,我当时直接在mysql网站上下的最新版本,数据库应该没问题的,,我已经在DataBean里面写了好多数据库的操作了,,,就是这个proc_page不能用,楼上知道为什么会出现这种异常吗?或者说我还要引入这些procudure到mysql里面去?知道有什么解决办法吗?
      

  6.   

    不是proc_page这个存储过程不能用,而是数据库中根本就没有这个存储过程,这个存储过程是需要你自己在数据库中创建的。
    在你要连接的数据库中创建这个分页的存储过程。
      

  7.   

    哦。。谢谢了我这方面还不太懂,,我看网上好多代码都用这个proc_page,,我以为这是个constant可以直接拿来用的。。谢谢楼上解答了,,能不能提供点关于创建数据库存储过程的好的link看看。。马上结贴。。谢谢楼上一直的及时回复。
      

  8.   

    网上关于mysql存储过程的实例很多,自己去搜索看吧!
      

  9.   

    http://blog.chinaunix.net/u3/93470/showart_2000195.html
      

  10.   

    請問如何解決呢?
    我練習書上的範例,都會有這個問題,
    我的MySQL是5.1.44-community版本,
    謝謝!
      

  11.   

    謝謝!已解決。
    原因同qs_84_7_27大大一樣,
    一直以為MySQL本身就有一個proc_page(?,?,?,?) 的routines,
    其實沒有,書中的範例並沒有針對自己產生的proc_page()做說明,
    其實範例光碟片的內容rms.sql的最後面有附這個proc_page()  routines,
    在MySQL命令列中敲上去後,
    再執行show procedure status就看得到了。