error calling function - jdbc driver limitation? - Mailing list pgsql-jdbc
From | Sharon Cowling |
---|---|
Subject | error calling function - jdbc driver limitation? |
Date | |
Msg-id | 200201220242.g0M2gHv18332@lambton.sslnz.com Whole thread Raw |
Responses |
Re: error calling function - jdbc driver limitation?
|
List | pgsql-jdbc |
Hi, I'm trying to call a function from a JSP page and I'm getting an exception saying: Callable Statements are not supportedat this time. I've included information I thought would be helpful, if you need more, let me know. I'm running the following version: version --------------------------------------------------------------- PostgreSQL 7.1.3 on i686-pc-linux-gnu, compiled by GCC 2.95.3 JDBC Driver: jdbc7.1-1.2.jar Function: CREATE FUNCTION returnkey(varchar) returns int as ' BEGIN UPDATE archive_faps_key SET date_returned = now() WHERE key_code = $1 AND permit_id = (SELECT permit_id FROM faps_key WHERE key_code = $1); UPDATE faps_key SET date_key_issued = null, date_key_due = null, key_issued_by = null, permit_id = null WHERE key_code = $1; RETURN 1; END;' LANGUAGE 'plpgsql'; Java Code: Driver driverReturnKey = (Driver)Class.forName(postgresql_DRIVER).newInstance(); Connection conn = DriverManager.getConnection(postgresql_STRING,postgresql_USERNAME,postgresql_PASSWORD); String returnKeyFunction = ("{call returnkey(?)}"); CallableStatement cs = conn.prepareCall("{call null_key('" + rsReturnKey__varKeyNum + "')}"); cs.execute(); Stack Trace: Error: 500 Location: /return_key2.jsp Internal Servlet Error: javax.servlet.ServletException: Callable Statements are not supported at this time. at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:459) at _0002freturn_0005fkey_00032_0002ejspreturn_0005fkey2_jsp_5._jspService(_0002freturn_0005fkey_00032_0002ejspreturn_0005fkey2_jsp_5.java:139) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspCountedServlet.service(JspServlet.java:130) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:282) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405) at org.apache.tomcat.core.Handler.service(Handler.java:287) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758) at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501) at java.lang.Thread.run(Thread.java:484) Root cause: Callable Statements are not supported at this time. at org.postgresql.jdbc2.Connection.prepareCall(Connection.java:143) at org.postgresql.jdbc2.Connection.prepareCall(Connection.java:138) at _0002freturn_0005fkey_00032_0002ejspreturn_0005fkey2_jsp_5._jspService(_0002freturn_0005fkey_00032_0002ejspreturn_0005fkey2_jsp_5.java:102) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspCountedServlet.service(JspServlet.java:130) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:282) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405) at org.apache.tomcat.core.Handler.service(Handler.java:287) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758) at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501) at java.lang.Thread.run(Thread.java:484) Is this a limitation of the jdbc driver that I am using that I cannot call functions? Or could it be something I'm doing? Regards, Sharon Cowling
pgsql-jdbc by date: