0

Ich muss wissen, ob SQL Server CE Multithreading (mit einer Verbindung) unterstützt.Unterstützt Sql Server CE Multithreading?

Also, wenn ich eine SQL Server CE-Verbindung erstellen und dann diese Verbindung in zwei verschiedenen Threads verwenden, um ein Update/Einfügen/Löschen der Verbindung aufzurufen, wird SQL Server CE "OK" sein oder wird es manchmal ersticken?

(Ich erhalte einen intermittierenden Schreibfehler, und ich bin nicht sicher, ob es wegen des Multi-Thread-Zugriff ist oder wenn es etwas anderes.)

+0

Ich weiß es nicht, aber ich würde nicht vermuten. – SLaks

Antwort

1

Yep sqlserverce ist nicht Multithread sicher.

Der beste Weg zum und der faulste ist es, bei jedem Aufruf eine Einfügung zu machen, eine Aufgabe zu aktualisieren, eine Sperre für ein Objekt auszuführen, die notwendige Operation auszuführen und dann die Sperre aufzuheben.

Ich hatte eine Klasse macht einige Einfügungen (Eingabe einer GPS-Koordinate in der db) abhängig von einem Timer, auf ein Ereignis (PDA mit der AC Powerline verbunden), und der andere Timer, um diese Daten an einen Webservice über GPRS zu senden . Endergebnis: sql stürzte ab, weil es nicht Multithread-sicher ist.

Nach einigen Recherchen fand diesen Artikel C Threading Sharing data across threads, die in meinem Fall geholfen haben.