Datenbank Parallelitätsverletzung

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von MrTrebron.

    Datenbank Parallelitätsverletzung

    Hallo PROgrammierer,

    meine Anwedung ist endlich soweit um damit einen Alpha Alpha Alpha Test durchzuführen. Wie zu erwarten war, treten noch einige Probleme auf. Eis davon ist: Ein Benutzer bearbeitet eine Zeile in Dataset. Ein anderer Benutzer hat die besagte Zeile Bereits aus der Datenbank in sein Dataset geladen. Lädt nun der erste Benutzer die Änderungen in die DB und der zweite Benutzer überarbeitet anschließend die Zeile, kommt es natürlich zu einer Parallelitätsverletzung.

    Nun meine Frage: Kann ich das Update des zweiten Benutzers trotzdem durchführen und die Änderungen des ersten Benutzers überschreiben? Und falls ja, kann ich so weit gehen und die Spalten differenzieren die bearbeitet wurden um gegebenfalls beide Änderungen zu übernehmen?

    Bsp.: Benutzer1 überarbeitete Spalte 1 in Zeile 12 und Benutzer2 überarbeitet Spalte 3 ind Zeile 12. Ist es möglich dass dann Spalte 1 den Inhalt von Benutzer1 enthält und Spalte 3 den Inhalt von benutzer2.

    Bin sehr gespannt auf eure Antworten;)


    Euer Steak
    Prinzipiell kann man das Abprüfen auf Concurrency auch deaktivieren, und dann überschreibt user2 halt, was user1 eingegeben hat.
    Kann man aber so wohl kaum beim Kunden abliefern.

    Für alles annere gibts keine Patentlösung, und erfordert alles erheblichen Aufwand, und individuell wie die DB gestrickt ist, und wie die Anforderungen der Anwendung sind.
    Eine sehr einfache Lösung ist zB, wenn sich einrichten lässt, dass User2 die Daten von User1 ühaupt nicht mit Schreibrechten abrufen darf - relativ häufig ist sowas möglich.
    Servus,

    möglich ist das schon und auch aus meiner Sicht extrem wichtig.

    Wie man das nun löst wenn man immer gleich komplette DataSets zurück schreibt kann ich dir nicht sagen.

    Wenn man aber mit Locks arbeitet, ich gehe hier mal von MS SQL aus, dann kann man verhindern das user2 den Datensatz bearbeitet wenn user1 den gerade zm Schreiben geöffnet hat.

    technet.microsoft.com/de-de/library/jj856598(v=sql.110).aspx
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.