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

Reply via email to