Frage

Ich habe derzeit eine Datenbank in MySQL, die ich in MS Access importieren möchte.

Ist dies möglich, während alle Beziehungen intakt bleiben (d. h. ohne in CSV zu exportieren oder ODBC zu verwenden)?

Ich bin ein Neuling in diesem Bereich, daher wird jede Hilfe sehr geschätzt.

Danke.

War es hilfreich?

Lösung

Sie müssen zwei verschiedene Probleme lösen:

  1. Erstellen einer leeren MS Access-Datenbank mit einer Struktur, die der MySQL-Datenbankstruktur entspricht.

  2. Extrahieren der Daten aus MySQL und Laden in MS Access.

    Dies ist nicht einfach, da verschiedene SQL-Datenbanken unterschiedliche Strukturmerkmale, unterschiedliche Datentypen usw. bieten. Je komplexer Ihre Verwendung von MySQL ist, desto wahrscheinlicher ist es, dass Sie während der Konvertierung auf einen Show-Stopper stoßen (z. B. unterstützt Access überhaupt keine Trigger). Wenn Sie MySQL als einfachen Datenspeicher verwenden, ist die Konvertierung möglicherweise recht einfach.

    Um eine MS Access-Datenbank mit der gleichen Struktur wie Ihre MySQL-Datenbank zu erhalten, ist es am besten, ein Datenbankdefinitions- / Diagramm-Tool zu finden, das Reverse Engineering bietet und sowohl MySQL als auch MS Access unterstützt. Verwenden Sie diese Option, um Ihre MySQL-Datenbank in ein Datenbankdiagramm zurückzuentwickeln. Ändern Sie dann die zugrunde liegende Datenbank in MS Access und generieren Sie mit dem Tool eine Datenbank.

    Schauen Sie sich Dezign For Databases an, das (auf dem Papier jedenfalls) die Funktionen bietet, die Sie benötigen würden Mach das.

    Um die Daten zu pumpen, gibt es eine beliebige Anzahl von Werkzeugen. Diese Art von Operation wird allgemein als ETL (Extract, Translate, Load) bezeichnet.

Andere Tipps

Meinen Sie SQL Server?Ein guter Ausgangspunkt könnte das Auschecken von SQL Server Integration Services (SSIS) sein, mit denen Daten auf diese Weise übertragen werden können.

Google ist ebenfalls hilfreich. Sehen Sie sich das erste Ergebnis an:

http://support.microsoft.com/kb/237980

Übrigens haben Sie in Ihrer Frage ".sql" gesagt: Eine .SQL-Datei ist eine Skriptdatei, die alles tun kann, um eine Datenbank zu erstellen, Daten einzufügen, Tabellen zu löschen, Daten zu löschen oder die richtigen Berechtigungen zu erteilen.Rufen Sie die Systemprozeduren auf und starten Sie einen Computer neu, formatieren Sie ein Laufwerk, senden Sie eine E-Mail. Nur als Referenz: SQL-Dateien sind nicht das von SQL Server verwendete Speicherformat.

Während Sie das Schema Ihrer Datenbank über SQLyog in Skriptdateien skripten können, werden Sie feststellen, dass die Syntax von Datenbank zu Datenbank (in Ihrem Fall MySQL zu Access) so unterschiedlich ist, dass Sie die Skripte nicht direkt anwenden können.

Mit viel Aufwand kann ein Konvertierungsskript durch Bearbeiten des Skripts erstellt werden (abhängig von der resultierenden Skriptgröße möglicherweise mit einem Programm automatisiert).Ich denke, Sie sollten ODBC besser verwenden, um die Tabellen (und Daten) zu kopieren und dann die Beziehungen aus dem generierten Skript von Hand zu extrahieren und erneut anzuwenden.Zeitaufwändig, aber auch eine einmalige Operation, würde ich hoffen.

Wenn beide Systeme dieselbe Datenbank sind, gibt es Tools, die den Vergleich und die Skripterstellung durchführen können (TOAD für MySQL und RedGate Compare für Microsoft SQL), aber keine datenbankübergreifende Arbeit (zumindest nicht die von I)bin mir bewusst).

Wenn Sie einen ODBC-DSN erstellen, können Sie TransferDatabase zum Importieren aus Ihrer MySQL-Datenbank verwenden.Sie können dies manuell mit dem Befehl GET EXTERNAL DATA (oder was auch immer in A2007 / A2010) tun und sehen, wie gut es funktioniert.Es werden nicht alle Datentypen genau richtig angezeigt, aber Sie könnten etwas massieren und es wahrscheinlich näher an das bringen, was am besten funktioniert.

Gibt es einen Grund, warum Sie nicht einfach auf die MySQL-Tabellen verlinken und diese direkt verwenden können?Das heißt, warum müssen Sie überhaupt in Access importieren?

Sie können Folgendes versuchen: Konvertieren von MS Accesszu MySQL mit Beziehungen

Funktioniert einwandfrei und exportiert alle Beziehungen.

Zugriff: Abfrage ausführen.Stellen Sie einfach sicher, dass Sie den SQL-Code anpassen, da jedes RDMS seine eigene Sintaxis hat (obwohl SQL ein ANSI-Standard ist).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top