externe Access Tabelle kopieren

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    externe Access Tabelle kopieren

    Hallo zusammen,

    leider komme ich nicht mehr weiter... und hoffe es kann mir jemand helfen.
    Ich bin Anfänger im Datenbank programmieren und versuche gerade für eine bestehenden Programm eine
    kleine Erweiterung zu bauen.

    Die Software verwendet eine Access Datenbank mit PW

    Ich möchte nun aus der vorhanden Datenbank eine komplette Tabelle
    meine MDB Datenbank kopieren.

    Die vorhanden DB bekomme ich über ein select in eine Dataset und dann
    in eine Datagridview gelesen.

    Das funktiniert auch so.. Nun habe ich glaube eine Denkfehler und versuche seit
    zwei Tagen die Daten in meine DB zu geschrieben.


    Hoffe Ihr könnt helfen
    Danke
    man kann keine DB-Tabelle in eine annere kopieren.

    Du kannst eine DB-Tabelle laden, etwa in ein typisiertes Datset.

    Dann kannst du die geladenen Datensätze durchgehen, und daraus ganz andere Datensätze komponieren, welche du in eine andere DB-Tabelle einer anneren DB einfügst - Stichwort "INSERT"-Command.

    Das ganze ist auch ohne Dataset möglich, etwa indem du ein Lese-Command mit .ExecuteReader() abfährst, und dann aus den Reader-Daten die neuen Datensätze komponierst und mit dem Insert-Command dann an die annere DB schickst.

    Das sollte das schnellste sein, allerdings ist das vollautomatisch, und der User bekommt von diesem Vorgang nix zu sehen.

    Bist du in Datenbank-Dingen denn bewandert, also Normalisierung, Relationen und so Zeug? Hast du ein tragfähiges Datenmodell?
    Weil sonst treten höchstwahrscheinlich weitere Probs auf.
    Hallo,

    danke für deine schnelle Antwort.

    Nein, leider habe ich noch nicht wirklich viel Erfahrung mit Datenbanken.
    Ich bin auch schon auf der Suche nach einem ordentlichen Buch was sich nur mit
    Datenbankprogrammierung beschäftigt, aber noch ohne Erfolg.
    Aktuell arbeite ich mit zwei etwas allgemeineren Büchern über VB2010 und
    über`s Netz.

    Soweit komme ich auch damit klar und habe auch schon eine kleine Anwendung
    mit Datenbank geschrieben... aller Adressverwaltung..

    Nun wollte ich allerdings mal was Produktives machen und diese Ergänzung bauen.
    Als Datenmodell habe ich die Struktur der vorhanden DB genommen.

    Wenn ich die Original DB verwende, dann funktioniert auch mein Projekt so
    wie ich mir das vorstellen, nur möchte ich nicht in der Original DB
    arbeiten und wollte mir daher die Daten die sich brauche aus der Original
    einfach kopieren... :)
    und dann die Daten in meinem Projekt dann verwenden.

    Kann ich den die Daten aus dem Dataset nicht verwenden um sie dann
    in meine DB zu speichern.

    Werde mir mal die Lösung über das .ExecuteReader() anschauen und
    hoffe das ich damit weiter komme..


    schon mal danke...
    Ja.. allerdings ist die DB je nach Kunde etwas groß
    ca. 300MB und ich brauche auch nur die Daten
    aus dieser ein Tabelle..
    Um hier nicht unnötig Daten zu sammeln wollte ich nur
    die eine Tabelle kopieren.
    Die Tabelle wir auch jeden Monat wieder neue
    ausgelesen..
    Es geht hier um eine Mtl. Datev Auswertung für
    eine bestehende Wawi.

    Schau mir gerade mal das .ExecuteReader() an..

    Ich dachte es würde hier eine einfach Funktion
    geben die die gesamte Tabelle kopiert..

    marcpro schrieb:

    Ich dachte es würde hier eine einfach Funktion
    geben die die gesamte Tabelle kopiert..

    Auf diesen Denk-Fehler wies ich schon in post#2 hin: DB-Tabellen kann man nicht kopieren.
    Ein Datensatz hat eine unverwechselbare ID, und kopierst du die mit, so ist der Datensatz ungültig, denn die ID ist nun ja nicht mehr unverwechselbar.
    Setzt du eine neue unverwechselbare ID in die Kopie ein, so ist die Kopie keine Kopie mehr, da ja nicht mehr identisch.

    Wenn du rumspielen willst, mach dir eine extra DB zum rumspielen.
    Das einfachste mag sein, eben einfach eine Datei-Kopie des Originals herzunehmen.
    Vlt. kann man da unnötige Tabellen auch leeren, oder sogar ganz entfernen - das ist aber eher unwahrscheinlich, dass das geht, da vmtl. Beziehungen zwischen den Tabellen zu berücksichtigen sind.