Well, if the statements within your BEGIN TRANSACTION ... COMMIT only really affects one database (hereafter called the main database) only that database should be locked. If you experience otherwise, it could be because:
1. The locking_mode for the databases has been set to EXCLUSIVE (see http://sqlite.org/pragma.html#pragma_locking_mode) 2. The statements executed against the main database may read from other databases as part of the execution thus holding SHARED locks on the other databases which will prevent writing to them. See an explanation of the locking system in SQLite here (http://www.sqlite.org/lockingv3.html). However, you should still be able to read from the other databases while the transaction is being committed. 3. Inside the transaction against the main database you have overlooked some statement that does in fact write to the other databases. Perhaps you can supply some more details about what takes place inside the transaction against the main database and what you are trying to do with the other databases, if the above explanation doesn't solve your issue. /Frank > -----Original Message----- > From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users- > boun...@sqlite.org] On Behalf Of Simon L > Sent: 26 October 2011 14:08 > To: sqlite-users@sqlite.org > Subject: [sqlite] Multiple databases in one DB connection. How to let BEGIN > TRANSACTION..COMMIT apply to only one of them? > > While one of the databases is under a lengthy writing process, I don't want > other databases to be locked by the BEGIN TRANSACTION...COMMIT lock. > Is this possible? Thanks. > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users