Hallo Experten,
ich hoffe man kann das Thema rel. gut vom Titel ableiten.
Ich bekomme eine Access Abfrage zur Verfügung gestellt. Die Abfrage bekomme ich relativ leicht in eine DataGridView geladen/angezeigt.
Unabhängig davon ob ich die Daten ändere oder nicht möchte ich nun die Daten (komplette DGV_Mat) in eine gleich aufgebaute MS SQL DB übertragen.
Leider komme ich mit dem SqlCommandBuilder nicht zurecht.
Meine Ansätze waren u.a. folgendes
Das kann so nicht klappen glaube ich, wenn ich das halbwegs verstanden habe. Der da_Adapter öffnet bzw. baut eine Verbindung mit einer MS SQL DB auf. Lesen/Schreiben von einer Tabelle.
Ich komme halt nicht zurecht weil meine Daten von einer Access DB kommen...
Wäre echt Super nett, wenn ihr mir etwas auf die Sprünge helfen könntet.
Danke und frohe Ostern noch.
ich hoffe man kann das Thema rel. gut vom Titel ableiten.
Ich bekomme eine Access Abfrage zur Verfügung gestellt. Die Abfrage bekomme ich relativ leicht in eine DataGridView geladen/angezeigt.
VB.NET-Quellcode
- 'Deklarationen
- Dim connString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\blabla.accdb"
- Dim MyConn As OleDbConnection
- Dim da As OleDbDataAdapter
- Dim ds As DataSet
- Dim tables As DataTableCollection
- Dim source1 As New BindingSource
- Dim conn As SqlConnection
- Dim da_Adapter As SqlDataAdapter
- Dim ds_Material As DataSet ' DataSet
- Dim dt_Material As DataTable ' DataTable (Datentabelle)
VB.NET-Quellcode
- Public Sub ExportTableData()
- MyConn = New OleDbConnection
- MyConn.ConnectionString = connString
- ds = New DataSet
- tables = ds.Tables
- da = New OleDbDataAdapter("Select * from AccAbfrage", MyConn) 'Change items to your database name
- da.Fill(ds, "AccAbfrage") 'Change items to your database name
- Dim view As New DataView(tables(0))
- source1.DataSource = view
- DGV_Mat.DataSource = view
- ' *** DataSet und DataTable-Instanz bilden
- ds_Material = New DataSet("AccAbfrage") ' DataSet-Instanz bilden
- dt_Material = New DataTable("AccAbfrage") ' DataTable-Instanz bilden
- ds_Material.Tables.Add(dt_Material)
- End Sub
Unabhängig davon ob ich die Daten ändere oder nicht möchte ich nun die Daten (komplette DGV_Mat) in eine gleich aufgebaute MS SQL DB übertragen.
Leider komme ich mit dem SqlCommandBuilder nicht zurecht.
Meine Ansätze waren u.a. folgendes
VB.NET-Quellcode
- Public Sub ImportTableData()
- conn = New SqlConnection( "Data Source=LOCALDB\SQLEXPRESS;Uid=sa;Password=*******;Initial Catalog=SQLDB")
- conn.Open()
- ' *** Primärschlüssel-Informationen beim Fill mit übernehmen
- 'da_Adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
- da_Adapter = New SqlDataAdapter("", conn)
- da_Adapter.SelectCommand.CommandText = "SELECT * FROM tblMaterial"
- da_Adapter.SelectCommand.CommandType = CommandType.Text
- da_Adapter.Fill(dt_Material) ' DataTable füllen
- Dim cmdb As SqlCommandBuilder
- cmdb = New SqlCommandBuilder(da_Adapter)
- da_Adapter.Update(dt_Material)
- conn.Close()
- End Sub
Das kann so nicht klappen glaube ich, wenn ich das halbwegs verstanden habe. Der da_Adapter öffnet bzw. baut eine Verbindung mit einer MS SQL DB auf. Lesen/Schreiben von einer Tabelle.
Ich komme halt nicht zurecht weil meine Daten von einer Access DB kommen...
Wäre echt Super nett, wenn ihr mir etwas auf die Sprünge helfen könntet.
Danke und frohe Ostern noch.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „newbie“ ()