I want to implement a database desktop application with Python (PyGTK). Up to now I was using sqlite3 but I read that it is not so nice, if few people wants to access it at the same time. I'm thinking now to switch to another interface but I don't know which one or whether it is really necessary.
What I need/have:
Any suggestions?
SQLite allows a single writer but multiple readers.
Of course in this case that doesn't matter. When multiple users try to open and write to that SQLite DB file on your network the last writer to the DB file would win and the other changes would be lost.
You'll want to use a database server like:
The links in parenthesis are links to information on the Python DB-API drivers for those databases.
The good news is that if you already have an application that works with the sqlite3 driver you really just need to go through and replace sqlite3 with the appropriate driver for whatever database you switch to. Well, you'll also need to update your application with some additional information about where to connect to the database server on your network.
For example, SQLite only requires a path to the DB file while any of the databases above will require a host / IP address, port, database name, database username, and database password.
Personally I'd favor PostgreSQL but this most likely up to your IT and Server staff what they want to support. I imagine you could get by with something like SQLServer Express (as your dataset doesn't seem that large) and that may fit more nicely with the Windows environment.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With