Weisbach Thomas: Access to SQL-Server Tabellen Kopieren ?

Hallo,

kann man mit wenig Aufwand eine Tabelle von SQL-Server in eine Access Tabelle Kopieren ?

d.h. Aktuallisierung einer Tabelle in ACCess, es werden beim Conect immer die gesamten Daten vom SQL-Server übertragen. d.h. Tabelle in Access löschen und vom SQL-Server runterladen.

Und das ganze noch in ASP zum umsetzen.

mfg

--Thomy

PS: evtl. gleich mit CC an thomy@simec.de

  1. Hatte auch einmal so ein Problem. Es gibt mehrere Lösungwege:

    a) Du installierst bei Dir den ODBC-Treiber für mySQL und machst eine Verknüpfung von Deiner Access-DB zu den MySQL Tabellen -> Nachteil: Du musst immer online sein, wenn Du an den Tabellen arbeitest.

    b) Du erstellst z.B. mit Hilfe von PHPMyAdmin csc-Dateien Deiner Tabellen. Kopierst Sie per FTP auf Deinen lokalen Rechner und liest sie in Access ein. Nachteil -> aufwändig

    c) Du schreibst ein kleines Programm was den Datenbankabgleich übernimmt (Das habe ich letztendlich gemacht). Als Programmiersprache habe ich Delphi gewählt.

    Hoffe es hilft aber vielleicht hat ja noch jemand einen besseren Tipp.

    mfg Thomas

    Hallo,

    kann man mit wenig Aufwand eine Tabelle von SQL-Server in eine Access Tabelle Kopieren ?

    d.h. Aktuallisierung einer Tabelle in ACCess, es werden beim Conect immer die gesamten Daten vom SQL-Server übertragen. d.h. Tabelle in Access löschen und vom SQL-Server runterladen.

    Und das ganze noch in ASP zum umsetzen.

    mfg

    --Thomy

    PS: evtl. gleich mit CC an thomy@simec.de

    1. Sorry, hatte mich vertippt. Heißt natürlich csv und nicht csc ;-)

      Thomas

      Hatte auch einmal so ein Problem. Es gibt mehrere Lösungwege:

      a) Du installierst bei Dir den ODBC-Treiber für mySQL und machst eine Verknüpfung von Deiner Access-DB zu den MySQL Tabellen -> Nachteil: Du musst immer online sein, wenn Du an den Tabellen arbeitest.

      b) Du erstellst z.B. mit Hilfe von PHPMyAdmin csc-Dateien Deiner Tabellen. Kopierst Sie per FTP auf Deinen lokalen Rechner und liest sie in Access ein. Nachteil -> aufwändig

      c) Du schreibst ein kleines Programm was den Datenbankabgleich übernimmt (Das habe ich letztendlich gemacht). Als Programmiersprache habe ich Delphi gewählt.

      Hoffe es hilft aber vielleicht hat ja noch jemand einen besseren Tipp.

      mfg Thomas

      Hallo,

      kann man mit wenig Aufwand eine Tabelle von SQL-Server in eine Access Tabelle Kopieren ?

      d.h. Aktuallisierung einer Tabelle in ACCess, es werden beim Conect immer die gesamten Daten vom SQL-Server übertragen. d.h. Tabelle in Access löschen und vom SQL-Server runterladen.

      Und das ganze noch in ASP zum umsetzen.

      mfg

      --Thomy

      PS: evtl. gleich mit CC an thomy@simec.de

  2. Hallo,

    kann man mit wenig Aufwand eine Tabelle von SQL-Server in eine Access Tabelle kopieren ?
    d.h. Aktuallisierung einer Tabelle in ACCess, es werden beim Conect immer die gesamten Daten vom SQL-Server übertragen. d.h. Tabelle in Access löschen und vom SQL-Server runterladen.

    Und das ganze noch in ASP zum umsetzen.

    Ich würde das ganze genau so lösen, wie Du es beschrieben hast.
    1. Die Tabelle vom SQL-Server als externe Datenquelle in Access einbinden und entsprechend benennen z.B.: "x_tabelle1"

    2. Mit ASP (Kenne ich noch nicht wirklich) sollte es wie in VBA funktionieren:

    Private Sub import()
      Dim wrkJet As Workspace
      Dim dbs As Database
      Set wrkJet = CreateWorkspace("", "Admin", "", dbUseJet)
      Set dbs = wrkJet.OpenDatabase("C:\Path\Database.mdb", False)

    'tabelle1 erstellen falls noch nicht vorhanden (erster Lauf)
      On Error Resume Next
      dbs.Execute ("SELECT * INTO tabelle1 from x_tabelle1")
      On Error GoTo 0

    dbs.Execute ("delete * from tabelle1")
      dbs.Execute ("INSERT INTO tabelle1 SELECT * FROM x_tabelle1;")
    End Sub

    Die Lösung mit Tabelle löschen würde fehlschlagen, wenn die Tabelle zu diesem Zeitpunkt geöffnet ist, was bei einer Datei, auf die ein Webserver zugreift recht wahrscheinlich ist. Daher leere ich die Datei lediglich un befülle sie neu.

    Viele Grüße

    H-P Ortner