Any one with java/JDBC experience please have a look at the snippet and let me know why I am not able to get the exact errorCode.
Thanks Sridhar On 08-06-2011 21:23, Martin.Engelschalk wrote: > Hi, > > The important information is that you seem to use a JDBC driver. > Maybe someone with Java/JDBC experience (which i dont have) may be > able to help you. > > Martin > > > Am 08.06.2011 17:37, schrieb Sridhar Polavarapu: >> I am on windows 7 and this is my test code >> >> try >> { >> Statement stat = mconn.createStatement(); >> stat.execute(sql); >> resultSet = stat.getResultSet(); >> mconn.close(); >> break; >> } >> catch (SQLException e) >> { >> >> retryCount++; >> switch(e.getErrorCode()) >> { >> case SQLITE_BUSY : >> /* falls through */ >> case SQLITE_LOCKED : >> /* falls through */ >> case SQLITE_PROTOCOL : >> if ( mlogger != null ) >> { >> mlogger.logWarn(0, "getResultSet() ", >> String.format("%s, Error code : %d", e.getMessage(),e.getErrorCode())); >> } >> /* >> * swallow the exception and retry once again >> */ >> break; >> >> default : >> if ( mlogger != null ) >> { >> mlogger.logError(0,"getResultSet() >> ",String.format("Insert query returned error: %s Error code : %d", >> e.getMessage(), e.getErrorCode())); >> } >> /* >> * The old driver was throwing SQLException with >> message "database locked" or "database is locked" with >> * error code 0. Even though we moved to new driver, >> we may need to have a fall back for a while. >> */ >> if (!("database >> locked".equalsIgnoreCase(e.getMessage()) || "database is >> locked".equalsIgnoreCase(e.getMessage()))) >> { >> return null; >> } >> /* >> * swallow the exception and retry once again >> */ >> >> } >> >> } >> >> This is my connection code >> >> try { >> Class.forName("org.sqlite.JDBC"); >> mconn = DriverManager.getConnection("jdbc:sqlite:" + >> connectionString); >> } catch (SQLException e) { >> if ( mlogger != null ) mlogger.logError(0, "openConnection() >> ", e.getMessage()); >> e.printStackTrace(); >> return false; >> } catch (Exception e) { >> if ( mlogger != null ) mlogger.logError(0, "openConnection() >> ", e.getMessage()); >> e.printStackTrace(); >> } >> >> I tried this test using the driver from xerial and also from sqlite. >> Both of them are returning the wrong error codes. Let me know if any >> further information helps. >> >> Thanks >> Sridhar >> >> >> >> On 08-06-2011 20:26, Martin.Engelschalk wrote: >>> Hello Sridhar, >>> >>> please tell us more: what interface are you using? what OS? >>> SQLException is not a part of the sqlite library, so obviously you >>> use an additional layer. >>> >>> Martin >>> >>> Am 08.06.2011 16:44, schrieb Sridhar Polavarapu: >>>> Appreciate if anyone can help me. >>>> >>>> Thanks >>>> Sridhar >>>> >>>> On 08-06-2011 16:16, Sridhar Polavarapu wrote: >>>>> Hi >>>>> >>>>> I am using getErrorCode() of SQLException to see if the exception is >>>>> due to any database lock. I all the time get Errorcode to be 0 even >>>>> though the getMessage is returning different messages. Can anyone let >>>>> me know if there is some thing that i need to do to get the error >>>>> codes correctly ? >>>>> >>>>> Thanks >>>>> Sridhar >>>> _______________________________________________ >>>> sqlite-users mailing list >>>> sqlite-users@sqlite.org >>>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >>>> _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users