Allan, Mark uttered:
Hi,
A little while back I submitted a query as to whether SQLite would be a
good alternative to using MS Access as an internal database for a PC
application. I received many repiles for which I was grateful. Mostly
people thought that SQLite was a far more superior option to Access, the
main concern I was warned about however was that SQLite does not work
particularly well in a multiuser environment. We will need (in some
instances) for the database file to be located on a network drive and
there is the requirement to support up to 10 concurrent users. The
actual traffic in most cases will be very light and the likelyhood of
writes actually taking place at the same time actually very slim.
However we do need the database engine to be able to handle this.
Basically my questions are thus:-
1) What are peoples experiences with SQLite under the scenario I have
described above?
SQLite has been known to be problematic using NFS drives, mainly due to
flaky NFS locking implementations. I believe SMB has better integrated
locking in the protocol, and so may be better than NFS with regards to
locking reliability.
2) What are peoples opinions on whether SQLite is a good choice for this
project? Any other alternatives?
If the locking issues above are non-issues under SMB, SQLite should be at
least as good as Access, and likely much better.
3) How severe is the database locking problem? How easy is it to unlock
a locked database? How often on average will it occur?
Given that you will have writers rarely updating the database, you should
have little contention on the database.
Locks under SQLite are advisery OS locks. If a SQLite application crashes
while holding a lock, the OS should automatically clear that lock when the
application exits. A crashed machine may be more problematic, as the
server holding the SQLite database will likely have to wait for the client
connection to time out before releasing the lock.
This is all OS level, though, and the same issues would apply to Access as
well. So if you're currently happy with Access's locking, then you should
be OK with SQLite. This assumes Access's locking is based on the OS's
locking mechanisms.
It is worth noting that the project is a complete upgrade from an older
version, the old version used access in the same environment as
described above and we had no complaints of problems in multiuser usage.
However we are finding access old technology and too slow and the 2Gb
limit is mnow too small for some of our customers.
Sounds like SQLite should fit your needs well.
Any help/suggestions will be gratefully received.
Mark
Christian
--
/"\
\ / ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
X - AGAINST MS ATTACHMENTS
/ \
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------