Rechnersystem Peer to Peer Verbindung.
Beide Rechner haben das gleiche Programm (A+B), die Datenbank(Sql Server 2008 Express liegt auf Rechner A). Der Datenbankzugriff
von beiden Rechnern auf die Datenbank funktioniert normalerweise ohne Probleme. Es gab aber den Zufall das beide User den Update
Befehl einer Aktion genau zeitgleich starteten. User A hatte keine Probleme, bei B flogen alle vorher im Form eingetragenen Datensätze raus.
Wie kann man das vermeiden. Habe 2 Möglichkeiten in Betracht gezogen, weiß aber nicht ob das funktioniert.
1.
Public Sub OpenConnection(ConnStr As String)
conn = New SqlConnection()
conn.ConnectionString = ConnStr
If conn.State = ConnectionState.Open Then
Exit Sub
Else
conn.OpenAsync()
End If
End Sub
Die 1. ob ich einfachen den ConnState abfrage
Die 2. ob ich das Update über ein OpenAsync laufen lassen sollte.
Hier der einfache Verbindungsstring
Public connStr As String = "Data Source=KL\SQLEXPRESS;Initial Catalog=xxxxxdb01;Integrated Security=True
Beide Rechner haben das gleiche Programm (A+B), die Datenbank(Sql Server 2008 Express liegt auf Rechner A). Der Datenbankzugriff
von beiden Rechnern auf die Datenbank funktioniert normalerweise ohne Probleme. Es gab aber den Zufall das beide User den Update
Befehl einer Aktion genau zeitgleich starteten. User A hatte keine Probleme, bei B flogen alle vorher im Form eingetragenen Datensätze raus.
Wie kann man das vermeiden. Habe 2 Möglichkeiten in Betracht gezogen, weiß aber nicht ob das funktioniert.
1.
Public Sub OpenConnection(ConnStr As String)
conn = New SqlConnection()
conn.ConnectionString = ConnStr
If conn.State = ConnectionState.Open Then
Exit Sub
Else
conn.OpenAsync()
End If
End Sub
Die 1. ob ich einfachen den ConnState abfrage
Die 2. ob ich das Update über ein OpenAsync laufen lassen sollte.
Hier der einfache Verbindungsstring
Public connStr As String = "Data Source=KL\SQLEXPRESS;Initial Catalog=xxxxxdb01;Integrated Security=True