Hi Keith,

Made sure the timeouts are set to 1000 ms for both C and java
implementations.  Same error.   So, you are suggesting this is an issue
with the guys who wrote the driver for sqlite?   Not sure who these guys
are.

On Fri, Dec 9, 2016 at 11:22 AM, Keith Medcalf <kmedc...@dessus.com> wrote:

>
> Sounds like a java problem with the java interface, not an SQLite
> problem.  Two observations however:
>
> 1)  With the C API you set the busy timeout to 1000 ms but with the java
> api you set it to 100 ms
> 2)  With the C API you set the busy timeout to the integer 1000 yet in the
> java api you set it to the string "100"
>
> In any case, the problem is in the Java API.  You have demonstrated that
> the problem is not caused by SQLite itself ...
>
> Perhaps a chat with the Java wrapper developers is in order.
>
>
> > -----Original Message-----
> > From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org]
> > On Behalf Of Jay Weinstein
> > Sent: Friday, 9 December, 2016 11:50
> > To: SQLite mailing list
> > Subject: Re: [sqlite] org.sqlite.SQLiteException: [SQLITE_BUSY] The
> > database file is locked (database is locked)
> >
> > When I run the two C programs using
> >
> >       rc = sqlite3_busy_timeout(db, 1000);
> >       if ( rc != SQLITE_OK ) {
> >                 fprintf(stderr, "SQL error: sqlite3_busy_timeout
> > failed.\n");
> >                 exit(0);
> >       }
> >
> > everything works perfectly.  No sqlite busy erros or table locked.
> >
> > But, when I to do this using a java app using the following the code
> > doesn't work.  Basically, config.setBusyTimeout() doesn't seem to be
> > working as I anticipated --  see below.   Can you advise?
> >
> > Thanks, Jay
> >
> > Class.forName("org.sqlite.JDBC");
> > String s = "jdbc:sqlite:"+db;
> >
> > config = new SQLiteConfig();
> > config.setBusyTimeout("100");
> > conn = DriverManager.getConnection(s, config.toProperties());
> > conn.setAutoCommit(false);
> > stmt = conn.createStatement();
> >
> > On Wed, Dec 7, 2016 at 4:17 PM, Simon Slavin <slav...@bigfraud.org>
> wrote:
> >
> > >
> > > On 7 Dec 2016, at 11:28pm, Jay Weinstein <jpwe...@gmail.com> wrote:
> > >
> > > > Is it correct to say busy timeout will work for two separate
> processes
> > > and
> > > > I don't have use fork in C/C++ or ProcessBuilder in java to execute
> > one
> > > as
> > > > a child and a parent?
> > >
> > > The timeout setting is attached to the database connection.  If you
> > > execute _open() twice you need to set it once for each connection.
> > >
> > > Simon.
> > > _______________________________________________
> > > sqlite-users mailing list
> > > sqlite-users@mailinglists.sqlite.org
> > > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> > >
> > _______________________________________________
> > sqlite-users mailing list
> > sqlite-users@mailinglists.sqlite.org
> > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
>
>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to