views:

44

answers:

2

I currently have a client / server setup where the client sends data to the server and then the server saves the data to a SQLite database file. To do this I am using transactions which works fine in windows 7 when I run around 30 clients (each client sending data back between 5 - 30 seconds).

When using the same software in Windows XP, I can get/set data multiple times with no problems until I run around 20 clients I start to get Windows Delayed wrote failed errors: alt text

This fires an exception on the server: alt text

I'm assuming this is either something to do with XP or a hardware issue on the machine i'm running XP.

Does anyone have any advice to avoid this? Or if I should just catch the exception and retry saving the data?

Thanks

+1  A: 

I am sorry to mention this, but SQLite itself is not recommended in high concurrent environment. If you have up to 20 clients with transactions lasting 5-30 seconds you will definitely catch a timeout (which is 5 secs in SQLite by default), since SQLite is basically a replacement to fopen.

newtover
Thanks for the answer but this is part of a project I'm working on with specific requirements. I had mentioned this at the start but the spec states we must use a db which isn't required to be installed. Also the transactions don't last 5-30 seconds, the data is sent every 5-30 seconds per client. The transactions typically process very quick but it's the hardware (I think) which is slowing this down on specific machines...
ing0
@james.ingham: then, sorry once again. By the way, I wonder why have not you been using MS SQL Compact in context of .Net development (http://www.microsoft.com/Sqlserver/2005/en/us/compact.aspx)
newtover
I haven't tried it but it looks like you need to install it? I have no admin rights to the demo machine, so SQLite was ideal being only a dll I have to include.
ing0
@james.ingham: technically you just need a reference to the corresponding DLL in your project. By default, it is installed in GAC by the msi.
newtover
A: 

Sorry to answer my own question but this was a hardware issue! Just incase anyone else comes accross it!

ing0