Advertisement

07.15.2008 at 03:14PM PDT, ID: 23567848
[x]
Attachment Details

Postgres Returning autogenerated keys is not supported problem

Asked by courtenayt in PostgreSQL Database, Java Server Pages (JSP), Java Servlets

Tags: jsp

Hi,

I'm running into the following error when I try to pull data from my postgres database:

SchoolManager.java: readSchoolsFromDB(): Error while reading all schools
org.postgresql.util.PSQLException: Returning autogenerated keys is not supported.
      at org.postgresql.jdbc3.AbstractJdbc3Connection.prepareStatement(AbstractJdbc3Connection.java:352)
      at org.apache.tomcat.dbcp.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:458)
      at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(Poolin
gDataSource.java:394)
      at teska.dbconn.sqlQueryBean.query(sqlQueryBean.java:67)
      at teska.dbconn.sqlQueryBean.query(sqlQueryBean.java:53)
      at teska.lookup.SchoolManager.readSchoolsFromDB(SchoolManager.java:62)
      at teska.lookup.SchoolManager.initializeSchoolList(SchoolManager.java:50)
      at teska.lookup.SchoolManager.<init>(SchoolManager.java:22)
      at teska.lookup.SchoolManager.<clinit>(SchoolManager.java:17)
      at org.apache.jsp.initialize_jsp._jspService(initialize_jsp.java:116)
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
      at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290
)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Unknown Source)

PSQLException: Returning autogenerated keys is not supported.
null
null
SchoolManager.java: readSchoolsFromDB(): Error Disconnecting from the database
java.lang.NullPointerException
      at teska.dbconn.sqlQueryBean.cleanup(sqlQueryBean.java:168)
      at teska.dbconn.connPGDBBean.closeConn(connPGDBBean.java:55)
      at teska.lookup.SchoolManager.readSchoolsFromDB(SchoolManager.java:86)
      at teska.lookup.SchoolManager.initializeSchoolList(SchoolManager.java:50)
      at teska.lookup.SchoolManager.<init>(SchoolManager.java:22)
      at teska.lookup.SchoolManager.<clinit>(SchoolManager.java:17)
      at org.apache.jsp.initialize_jsp._jspService(initialize_jsp.java:116)
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
      at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290
)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Unknown Source)

NullPointerException:
null
null



Here is the code in my SchoolManager.java that calls SqlQueryBean.java to process the sql query:



 public static void readSchoolsFromDB(){
            sqlQueryBean sqlQB = new sqlQueryBean();
            try {
                 // connect to the database
                 sqlQB.makeConnection();

                 // SQL string
                 String sql = "SELECT sid, name, school_abr, school_district FROM schools" ;
                  // perform the query on the database
                  ResultSet list = sqlQB.query(sql);
                  
// do stuff

            }
            catch (Exception e){
            System.out.println("SchoolManager.java: readSchoolsFromDB(): Error while reading all schools");
            System.out.println(ExceptionUtils.getFullStackTrace(e));
            System.out.println(ExceptionUtils.getRootCauseMessage(e));
            System.out.println(ExceptionUtils.getRootCause(e));
            System.out.println(ExceptionUtils.getCause(e));
            }
            finally {
                  try {
                        //close the connection to the database
                        sqlQB.closeConn();
                  }
                  catch(java.lang.Exception e2){
                            System.out.println("SchoolManager.java: readSchoolsFromDB(): Error Disconnecting from the database");
                          System.out.println(ExceptionUtils.getFullStackTrace(e2));
                          System.out.println(ExceptionUtils.getRootCauseMessage(e2));
                          System.out.println(ExceptionUtils.getRootCause(e2));
                          System.out.println(ExceptionUtils.getCause(e2));                  
                  }
            }
    }


Here is the code in my SqlQueryBean.java:

PreparedStatement stmt = null;
 public ResultSet query(String sqlStatement) throws Exception {
                stmt = myConn.prepareStatement(sqlStatement, ResultSet.TYPE_SCROLL_SENSITIVE);
                return (stmt.executeQuery());
  }


My understanding was this error normally arises when trying to send 2 sql statements at once to the database (ex. and insert statement followed by a select statement to get the auto-generated key.  However, as you can see, this is just a normal select statement, so I'm not clear what is happening).

Does anyone have any ideas?

Thanks,
CourtenayStart Free Trial
[+][-]07.21.2008 at 08:09PM PDT, ID: 22056205

At Experts Exchange, members can ask their questions to thousands of technology professionals, also known as Experts. Experts compete and collaborate to answer those questions by leaving comments like this one.

Start your 7-day free trial to view this Expert Comment or ask the Experts your question.

 
[+][-]07.22.2008 at 12:23PM PDT, ID: 22062714

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 7-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]07.24.2008 at 09:50AM PDT, ID: 22081158

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 7-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]07.31.2008 at 07:24AM PDT, ID: 22129970

View this solution now by starting your 7-day free trial. Setting up your free trial is quick, easy, and secure. We will return you to this solution, unlocked, when you're done.

 

About this solution

Zones: PostgreSQL Database, Java Server Pages (JSP), Java Servlets
Tags: jsp
Sign Up Now!
Solution Provided By: courtenayt
Participating Experts: 1
Solution Grade: A
 
 
 
Loading Advertisement...
20080716-EE-VQP-32 / EE_QW_2_20070628