0

I have a server application written in Java. This application uses two sqlite files to process data. The inputs are from one sqlite database and the output is written to another one in the same folder. If I start the application a second time the process starts, but then I receive this error message:

[SQLITE_BUSY] The database file is locked (database is locked)

The last entry in the log is the following:

INFO: [sqlite] DB1: connection closed failed to remove existing native library file: C:\Users\bae\AppData\Local\Temp\sqlite-3.7.2-sqlitejdbc.dll

Is SQLite not able to handle to applications doing the same with different databases, which are stored in different folders?

I have folder A containing input.sqlite and output.sqlite are processed by the application instance_A.

And I have folder B containing input.sqlite and output.sqlite are processed by the application instance_B.

Both instances are running independent from each other.

I found Getting SQLite busy database file is locked with select statements and SQLITE_BUSY The database file is locked (database is locked) in wicket.

But this references didn't help me a lot.

Community
  • 1
  • 1
Irgendw Pointer
  • 1,770
  • 3
  • 30
  • 67
  • Are you really 100% sure they don't use the same SQLite database? Have you verified it using external tools? Have you tried renaming input.sqlite and output.sqlite in one of the application folders and checked whether this raises another error (should raise an exception because the database file could not be found)? – Frank Schmitt Mar 18 '14 at 13:38
  • Yes I'm sure. I set the folder manually. I verify it by using the debugger. I see the jdbc path. So therefore I'm sure. The only thing is that the name of the files are the same. And the process is creating a new database. This one exists after the error is shown. – Irgendw Pointer Mar 18 '14 at 14:11

0 Answers0