Veröffentlicht 14. September 200915 j Hallo Leute! Habe folgendes Problem: Ich habe zwei OleDbDataAdapter Objekte die auf die selbe Datenbank zugreifen. Diese beiden Objekte rufen die "OleDbDataAdapter.Update" Methode auf. Die Methode lasse ich Asynchron mit folgendem Code aufrufen: MeinDelegate.BeginInvoke( null, null ); Das funktioniert wunderbar solange mein Rechner nur einen Kern hat. Bei einem Mehrkernprozessor versuchen beide Objekte zur gleichen Zeit auf die Datenbank zuzugreifen und es kommt natürlich eine Exception. Wie kann ich diese Exception verhindern? Gibt es eine Möglichkeit wie ich dem zweiten Update sagen kann das es erst loslegen darf wenn das erste fertig ist? Ein Asynchroner Aufruf muss sein da die Performance sonst nicht stimmen würde. Ich Programmiere mit C# und dem Framework 2.0 evtl. hat jemand eine Idee. Gruß, Nightfall
14. September 200915 j Ich bin mir nicht zu 100% sicher und kann es leider auch im Moment nicht prüfen, weil ich an den PC wo ich gerade sitze kein Visual Studio habe aber es müsste da eine Methode geben mit "IsBusy" oder so die prüft ob ein Prozess noch am arbeiten ist oder nicht.
14. September 200915 j Hallo Hahne, vielen Dank für deine Antwort. Leider habe ich eine solche Methode bzw. ein Property nicht gefunden.
14. September 200915 j Zur Not mußt du dir halt selbst was bauen... Ist ja nun nicht so ein Akt den einen Adapter zu locken, wenn der andere gerade aktiv ist.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.