Hallo Leute!
Ich bastle momentan einen Konverter, der eine MDB-Datei ausließt und diese - angepasst auf ein neues Schema - in einen MSSQl-Server schieben soll. Jedoch klappt das nicht ganz so, wie ich es mir erhofft hatte. Die Daten hole ich mir gesagt aus einer MDB und schreibe sie über schleifen in ein leeres DataSet. Diese Änderungen will ich dann mittels der Update-Befehle auf eine leere SQL-DB schicken. Sobald ich aber mit meiner Konvertierung fertig bin und die Updatemethode aufrufe erhalte ich die Exception :
"Verletzung der PRIMARY-KEY-Einschränkung 'PK_tblxx_Schulungart'. Ein doppelter Schlüssel kann in das 'dbo.tblxx_Schulungart'-Object nicht eingefügt werden.
die DataTable ist folgendermaßen aufgebaut :
Spalte 1 : 'ID' int32, primary key , unique, not null
Spalte 2: 'Schulungsart' varchar(255), null
Gefüllt wird die Tabelle mit folgender Methode:
Bevor ich jedoch den Update aufrufe leere ich die Tabelle auf dem MSSQL vollständig. Eigentlich kann also garnichtsmehr darinstehen. Habe aber auch nachgeschaut und die Tabellen sind wirklich leer.
Der Inhalt der Tabelle nach der Konvertierung ist folgendermaßen:
Hat jemand von euch eine Idee, woran der Fehler liegen könnte? Bin gerade echt mit meinem Latein am Ende.
Bin für jede Antwort mehr als dankbar!!
Ich bastle momentan einen Konverter, der eine MDB-Datei ausließt und diese - angepasst auf ein neues Schema - in einen MSSQl-Server schieben soll. Jedoch klappt das nicht ganz so, wie ich es mir erhofft hatte. Die Daten hole ich mir gesagt aus einer MDB und schreibe sie über schleifen in ein leeres DataSet. Diese Änderungen will ich dann mittels der Update-Befehle auf eine leere SQL-DB schicken. Sobald ich aber mit meiner Konvertierung fertig bin und die Updatemethode aufrufe erhalte ich die Exception :
"Verletzung der PRIMARY-KEY-Einschränkung 'PK_tblxx_Schulungart'. Ein doppelter Schlüssel kann in das 'dbo.tblxx_Schulungart'-Object nicht eingefügt werden.
die DataTable ist folgendermaßen aufgebaut :
Spalte 1 : 'ID' int32, primary key , unique, not null
Spalte 2: 'Schulungsart' varchar(255), null
Gefüllt wird die Tabelle mit folgender Methode:
Code:
Public Sub convertXxSchulungsArt() Dim currentId As Integer = 1 'Da in der alten MDB keine PK's gesetzt waren muessen wir welche erfinden Me.SqlServer.tblxx_SchulungArt.Rows.Clear() 'alles leer machen... For Each dRow As DataRow In Me.AdressWeb.Adm_Schulungsart Dim newRow As DataRow = Me.SqlServer.tblxx_SchulungArt.NewRow() newRow.Item("ID") = currentId 'neue ID setzen newRow.Item("Schulungsart") = dRow.Item("Schulungsart") currentId = currentId + 1 'ID erhoehen Me.SqlServer.tblxx_SchulungArt.Rows.Add(newRow) 'hinzufuegen Next End Sub
Der Inhalt der Tabelle nach der Konvertierung ist folgendermaßen:
Code:
1 | ACCESS <-- Hier wird im DGV sogar ein DataError angezeigt ( spalte schonmal vorhanden, hallo?? ) 2 | COLUMBUS 3 | JAGD 4 | FRIEDHOF 5 | INCAT-1 6 | INCAT-2 7 | INCAT-3 8 | SQL
Hat jemand von euch eine Idee, woran der Fehler liegen könnte? Bin gerade echt mit meinem Latein am Ende.
Bin für jede Antwort mehr als dankbar!!
Comment