> I'm contemplating using the TCL binding of sqlite, but the database is to
> be located in a shared folder and about 100 users will be accessing it for
> read/write purposes.  I would like to take some time to learn as much as
> possible to safeguard the database from getting corrupt due to several
> users accessing it at the same time.  However, the sqlite website
> "http://www.sqlite.org/cvstrac/wiki?p=WhenToUseSqlite" says:
> 
> “A good rule of thumb is that you should avoid using SQLite in situations
> where the same database will be accessed simultaneously from many computers
> over a network filesystem.“
> 
> 
> I have 3 questions:
> 
> 1.    From the above statement, Am I right to assume that sqlite is not for
> me?

Probably not unless you intend on implementing some application level
write locking on the SQLite database. I've done this with one
application but there probably aren't ever anywhere near 200 people
accessing it at the same time. If someone is writing the database it
waits a few milliseconds and tries again (up to a finite number of
times, at which time it reports a failure)..

With that many possible concurrent users you might look into a RDBMS
server like PostgreSQL or MySQL. My personal preference is PostgreSQL,
but many use MySQL too..

> 2.    If sqlite is feasible for my purpose, where can I find good
> information to avoid ending up with a corrupt database

SQLite locks the *whole* database when writing. You simply cannot write
more than one thing at a time to the database (INSERT, UPDATE, DELETE
etc). I don't think there is any documentation that says anything more
than that.

I'm not sure if doing so will corrupt the data or just plain fail, but
either way you can't do it :-)

> 3.    The TCL binding I downloaded says version 2.0 and I do not have a C++
> compiler, where can I get the most recent binary of TCL sqlite?
> Thanks.

No idea on this one, check the SQLite webpage..

--
- Mitchell Vincent
- kBilling - http://www.k-billing.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to