Thanks a lot Kamil. The timeout trick worked :-). I guess I can keep my old sqlite, its working great now.<br><br>-Manish<br><br><br><div><span class="gmail_quote">On 6/20/07, <b class="gmail_sendername">Kamil Skalski</b> &lt;
<a href="mailto:kamil.skalski@gmail.com">kamil.skalski@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; I had opened up a single connection, and was doing updates/selects through
<br>&gt; that. I ended up with &quot;library sequence out of error&quot; exceptions. So, I<br><br>I do this by caching one connection per thread.<br><br>&gt; modified the code such that each query will open up new connection, and then
<br>&gt; run itself. So, &quot;library sequence&quot; exceptions went away, but got overtaken<br>&gt; by &quot;database locked&quot; ones. So, to do synchronization at the application<br><br>Try specifying the Timeout for the connection. I set it to 30seconds,
<br>which is enough for my application. I don&#39;t know any other solution<br>for this issue - probably the best would be to set timeout to<br>infinite, which I will do by increasing the actual value when needed<br>;)<br>
<br>def conn = SqliteConnection ($&quot;URI=file://$path,Version=3,busy_timeout=30000&quot;);<br><br>(this works with the old provider)<br><br>&gt; level, I&#39;ve set the C# locking mechanism to such that<br>&gt; 1. each table only runs one query at a time, and
<br>&gt; 2. only one write query is being run at a time.<br>&gt;<br>&gt; However, all this has done is just to _reduce_ the number of database locked<br><br>I think you cannot even do concurrent reads or maybe there is some
<br>place you missed in locking, I&#39;m not sure.<br><br>&gt; exceptions. I&#39;m still getting them. Is there a way by which they can be<br>&gt; eliminated? Mono database page shows that we can use the new library<br>&gt; 
System.Data.Sqlite, which is version 3 and apparently doesn&#39;t have these<br>&gt; synchronization issues. However, I&#39;ve been unable to find the .dll for<br>&gt; linux. Any help is appreciated.<br>&gt;<br><br>I think I found them at
<br><a href="http://www.go-mono.com/download-stable/sles-9-i586/">http://www.go-mono.com/download-stable/sles-9-i586/</a>&nbsp;&nbsp;or maybe I just<br>compiled them from source... it&#39;s quite easy.<br>However I experienced a strange (dead) locking issues using the new
<br>provider, which the same code works fine with old provider. I still<br>don&#39;t have time to investigate, but it would be great if somebody else<br>having concurrent app with sqlite tested it with new provider :D<br>
<br><br>--<br>Kamil Skalski<br><a href="http://nazgul.omega.pl">http://nazgul.omega.pl</a><br></blockquote></div><br>