Thanks Clark.

On 3/20/06, Clark Christensen <[EMAIL PROTECTED]> wrote:
>
> use DBI;
> $dbh = DBI->connect("dbi:SQLite:dbname=mydb.db","","", {AutoCommit=>0,
> RaiseError=>1, ShowErrorStatement=>1});
> eval {$dbh->do("insert into mytable (mycolumn) values ('my data')") };
> if ($@) {
>     if ($@ =~ m/database is locked/i) {
>         print "db is locked\n\n$@";
>     } else {
>         print $@;
>     }
> }
> # bound to be some errors, but you get the idea :-)
>
> Maybe other Perl guys here have a better solution, but I don't think DBI
> sets or returns an error code specific to "locked".  So far, my stuff hasn't
> been busy enough with writes to generate locked DB errors, so I haven't had
> to deal with it.
>
> Have a look at
> http://search.cpan.org/src/TIMB/DBI_AdvancedTalk_2004/index.htm  Here
> DBI's author talks about a variety of topics including error handling.  It's
> beem a good reference for me.
>
> -Clark
>
>
> ----- Original Message ----
> From: Sripathi Raj <[EMAIL PROTECTED]>
> To: sqlite-users@sqlite.org
> Sent: Monday, March 20, 2006 2:34:06 PM
> Subject: [sqlite] SQLite Busy status from DBD::SQLite
>
> Hi,
>
> I'm using DBD::SQlite with Perl. How do I know that the execution of a
> statement failed because the database was locked? Should I examine the
> $DBI::errstr? Does DBI set an error code or something?
>
> Thanks,
>
> Raj
>
>
>
>

Reply via email to