Re: [sqlite] HELP: SQLException getErrorCode vs gerErrorMessage()

2011-06-08 Thread Jim Morris
I've only used the xerial driver recently and haven't checked for the 
error code on exception.  It does come with source, so you may be able 
to walk into the code to see how the value is set/retrieved.
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] HELP: SQLException getErrorCode vs gerErrorMessage()

2011-06-08 Thread Sridhar Polavarapu
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


Re: [sqlite] HELP: SQLException getErrorCode vs gerErrorMessage()

2011-06-08 Thread 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


Re: [sqlite] HELP: SQLException getErrorCode vs gerErrorMessage()

2011-06-08 Thread Martin.Engelschalk
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


Re: [sqlite] HELP: SQLException getErrorCode vs gerErrorMessage()

2011-06-08 Thread 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