On Mar 27, 2009, at 11:10 AM, Radcon Entec wrote: > Hello! > > We are using SQLite to collect process data so that it can be > displayed on a graph. While a user is looking at the graph, the > database is locked and no new data can be added to the table. If a > user opens a graph and walks away for two hours, the database > containing data for that graph will be missing two hours' worth of > data. > > I do not care if data is updated while the graph is open. If the > user wants to refresh data, he can click on a refresh button. All I > need is a snapshot of the data when the database is first opened. > The documentation says that sqlite3_open_v2() has four arguments, > and one argument consists of a set of flags, and one possible flag > is SQLITE_OPEN_READONLY. I would expect that that would leave the > database able to accept updates from other sources. > > However, my application is written in C++ using MS Visual Studio 6, > and it uses Unicode. For that reason, I don't use sqlite3_open(). > I use sqlite3_open16(). This allows me to use the Unicode-based > file name that I have. The documentation doesn't list a > sqlite3_open16_v2() function. > > Is there a way to allow external writes to my database while it's > open while still using sqlite3_open16()? Or do I have to cram my > file name into a set of 8-bit characters and use sqlite3_open_v2()? > > I am trying to make sure I close my database after I'm done with it, > but I haven't yet succeeded, and if I can open it correctly the time > that I close it will no longer matter.
Calling sqlite3_reset() or sqlite3_finalize() on your prepared statement releases the read lock. You also need to call sqlite3_finalize() on all prepared statements before you close the connection, or sqlite3_close() will fail. D. Richard Hipp d...@hwaci.com _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users