Nightfall Geschrieben 14. September 2009 Geschrieben 14. September 2009 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 Zitieren
Hahne Geschrieben 14. September 2009 Geschrieben 14. September 2009 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. Zitieren
Nightfall Geschrieben 14. September 2009 Autor Geschrieben 14. September 2009 Hallo Hahne, vielen Dank für deine Antwort. Leider habe ich eine solche Methode bzw. ein Property nicht gefunden. Zitieren
0815FIA Geschrieben 14. September 2009 Geschrieben 14. September 2009 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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.