Moin Moin
Ich versuche eine CSV Datei in eine Access DB (mdb) zu importieren...
Dazu lade ich mir die mdb und die CSV_Datei in ein Dataset (DS). Das funktioniert auch einwandfrei...
Nun möchte ich das DS zurück schreiben
Dabei erhalte ich aber folgende Fehlermeldung:
Ich gehe mal davon aus, dass die Schlüsselspalteninformationen der Primärschlüssel ist?! In der mdb kann ich aber keinen Primärschlüssel setzten,
da es keine Spalte mit eindeutigem Inhalt gibt...
Gibt es hier sonst eine andere Lösung, bzw kann man den Primärschlüssel umgehen?
Hier mein Code:
Danke schon mal
Grüße Dominik
Ich versuche eine CSV Datei in eine Access DB (mdb) zu importieren...
Dazu lade ich mir die mdb und die CSV_Datei in ein Dataset (DS). Das funktioniert auch einwandfrei...
Nun möchte ich das DS zurück schreiben
DataAdapter_Stammdaten.Update(DS)
.Dabei erhalte ich aber folgende Fehlermeldung:
Dynamische SQL-Generierung für den UpdateCommand wird nicht für einen SelectCommand unterstützt, der keine Schlüsselspalteninformationen zurückgibt.
Ich gehe mal davon aus, dass die Schlüsselspalteninformationen der Primärschlüssel ist?! In der mdb kann ich aber keinen Primärschlüssel setzten,
da es keine Spalte mit eindeutigem Inhalt gibt...
Gibt es hier sonst eine andere Lösung, bzw kann man den Primärschlüssel umgehen?
Hier mein Code:
VB.NET-Quellcode
- Dim Connect_Stammdaten As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=""pfad_zur_mdb""")
- Dim Command_Stammdaten As New OleDb.OleDbCommand("select * from Auftrags_Stammdaten_Test", Connect_Stammdaten)
- Dim DataAdapter_Stammdaten As New OleDb.OleDbDataAdapter
- Dim csvdatei = "\\pfad_zur_csv\"
- Dim Connect_csvdatei As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & csvdatei & ";Extended Properties='text;HDR=Yes;FMT=Delimited;';")
- Dim Command_csvdatei As New OleDb.OleDbCommand("SELECT * FROM stammdaten_bearbeitet.txt", Connect_csvdatei)
- Dim DataAdapter_csvdatei As New OleDb.OleDbDataAdapter
- Dim CommandBuilder As OleDbCommandBuilder = New OleDbCommandBuilder(DataAdapter_Stammdaten)
- Connect_Stammdaten.Open()
- Connect_csvdatei.Open()
- DataAdapter_Stammdaten.SelectCommand = Command_Stammdaten
- DataAdapter_Stammdaten.Fill(DS)
- DataAdapter_csvdatei.SelectCommand = Command_csvdatei
- DataAdapter_csvdatei.Fill(DS)
- dt = DS.Tables(0)
- DGV.DataSource = dt 'Nur als Hilfsansicht
- CommandBuilder.GetUpdateCommand()
- DataAdapter_Stammdaten.Update(DS)
- Connect_Stammdaten.Close()
- Connect_csvdatei.Close()
Danke schon mal
Grüße Dominik