it-swarm.com.de

Wie kann ich eine MDB-Datei (Access-Datei) in MySQL-Datei (oder einfache SQL-Datei) konvertieren?

Kann ein SQL-Dump aus einer Microsoft Access-Datenbank erstellt werden? Ich hoffe, diese MDB-Datei zum Importieren in eine MySQL-Datenbank zu konvertieren, damit ich nicht den CSV-Schritt durchlaufen muss.

Ich würde sogar erwarten, dass eine MSSQL-Dump-Datei noch funktionsfähige SQL-Befehle enthält, aber ich weiß nichts von MSSQL, bitte lassen Sie es mich wissen.

68
George Bailey

Sie möchten mdb in mysql konvertieren (direkte Übertragung zu mysql oder mysql dump)?

Versuchen Sie es mit einer Software namens Zugriff auf MySQL

Access to MySQL ist ein kleines Programm, das Microsoft Access-Datenbanken in MySQL konvertiert.

  • Assistenten-Schnittstelle.
  • Übertragen Sie Daten direkt von einem Server zu einem anderen.
  • Erstellen Sie eine Sicherungsdatei.
  • Wählen Sie die zu übertragenden Tabellen aus.
  • Wählen Sie die zu übertragenden Felder aus.
  • Übertragen Sie passwortgeschützte Datenbanken.
  • Unterstützt sowohl gemeinsame Sicherheit als auch Sicherheit auf Benutzerebene.
  • Optionale Übergabe von Indizes.
  • Optionale Übertragung von Datensätzen.
  • Optionale Übertragung von Standardwerten in Felddefinitionen.
  • Identifiziert und überträgt Feldtypen für automatische Nummern.
  • Befehlszeilenschnittstelle.
  • Einfache Installation, Deinstallation und Aktualisierung.

Unter dem oben genannten Link finden Sie eine Schritt-für-Schritt-Anleitung mit Screenshots. 

68
Teson

Wenn Sie Zugriff auf eine Linux-Box haben, auf der mdbtools installiert ist, können Sie dieses Bash-Shell-Skript verwenden (als mdbconvert.sh speichern):

#!/bin/bash

TABLES=$(mdb-tables -1 $1)

MUSER="root"
MPASS="yourpassword"
MDB="$2"

MYSQL=$(which mysql)

for t in $TABLES
do
    $MYSQL -u $MUSER -p$MPASS $MDB -e "DROP TABLE IF EXISTS $t"
done

mdb-schema $1 mysql | $MYSQL -u $MUSER -p$MPASS $MDB

for t in $TABLES
do
    mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t | $MYSQL -u $MUSER -p$MPASS $MDB
done

Um es aufzurufen, nennt man es einfach so:

./mdbconvert.sh accessfile.mdb mysqldatabasename

Es werden alle Tabellen und alle Daten importiert.

37
Nicolay77

Ich habe das Skript von Nicolay77 geändert, um die Datenbank in stdout (die übliche Art von Unix-Skripts) auszugeben, sodass ich die Daten in eine Textdatei ausgeben oder sie an jedes gewünschte Programm weiterleiten kann. Das resultierende Skript ist etwas einfacher und funktioniert gut.

Einige Beispiele:

./to_mysql.sh database.mdb > data.sql

./to_mysql.sh database.mdb | mysql destination-db -u user -p

Hier ist das modifizierte Skript (in to_mysql.sh speichern)

#!/bin/bash
TABLES=$(mdb-tables -1 $1)

for t in $TABLES
do
    echo "DROP TABLE IF EXISTS $t;"
done

mdb-schema $1 mysql

for t in $TABLES
do
    mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t
done
24
mikkom

Freie Datenbankwerkzeuge exportiert keine Tabelle RELATIONSHIPS, , aber Sie können Folgendes verwenden:: Konvertieren von MS Access in MySQL mit Beziehungen

Funktioniert gut und exportiert alle Beziehungen nach MySQL.

enter image description here

7

Versuchen Sie das Data Wizard für MySQL . Es ist ein Tool zum Konvertieren von Strukturen und Daten aus beliebigen ADO-kompatiblen Quellen (z. B. MS Access) in MySQL-Datenbanken . Siehe eine kurze Anleitung zu Verbindungszeichenfolgen , um eine Verbindungszeichenfolge für Ihre MS Access-Datei zu erstellen.

5
Tihonov Eugene

Probieren Sie die Data Transformation Services von Microsoft aus

5
user715990

Wir haben ESF Database Convert oft für diesen Zweck verwendet. DTS war normalerweise zu schwach. Und die Empfehlungen auf der MySQL-Seite waren äußerst veraltet.

4
Michael Pryor

OSX-Benutzer können Nicolay77 oder mikkom folgen, die das Dienstprogramm mdbtools verwenden. Sie können es über Homebrew installieren. Lassen Sie einfach Ihr Homebrew installieren und dann gehen

$ homebrew install mdbtools

Dann erstellen Sie eines der von den Jungs beschriebenen Skripte und verwenden Sie es. Ich habe mikkom verwendet, alle meine MDB-Dateien in SQL konvertiert.

$ ./to_mysql.sh myfile.mdb > myfile.sql

(welches BTW enthält mehr als 1 Tabelle)

4
Egor Guriyanov

Ich habe SQLYog Ultimate verwendet, um Daten aus der MDB-Datei zu importieren. Das war sehr einfach.

sie müssen möglicherweise dieses Support-Tool installieren.

MS Access Database Engine

und laden Sie SQLYog Ultimate herunter

Wählen Sie SQLYog aus, Sie können eine Testversion für diese verwenden

2
Harsha

Ich verwende einen Mac, um dies zu konvertieren;

  1. Laden Sie den ACCDB MDB Explorer herunter http://accdb-mdb-Explorer.de.softonic.com/mac
  2. Öffnen Sie die MDB-Datei
  3. Als SQL exportieren
  4. Import in MySQL mit MySQL Workbench.
1
Dilip Rajkumar

Dieses Mac-Tool MDB/ACCDB Viewer hat für meine Bedürfnisse gut funktioniert. Kostenlose Testversion ließ mich beweisen, dass alles die geforderten Voraussetzungen erfüllt und die Hälfte aller Reihen exportiert wurde. Die Vollversion war erforderlich, um die gesamte Datenbank/Tabellen exportieren zu können.

1

Wenn Sie sich nicht zu sehr mit dem Datenschutz der zu konvertierenden .mdb-Dateien befassen, können Sie auf dieser Site zwei 15 Jahre alte .mdb-Access-Datenbanken wiederherstellen (erinnern Sie sich an die alten Zeiten, als ASP regierte das Web?) in nur zwei Minuten: http://www.mdbopener.com/

Die Datenbanken wurden in Excel-Dateien mit einem Blatt für jede Tabelle konvertiert. Genau das, was ich brauchte. Hätte nicht schneller sein können, um meine (sehr) alten Daten wiederherzustellen ...

Da die IDs in jeder Tabelle gespeichert waren, war es denkbar einfach, diese in nur wenigen Minuten erneut in mysql zu konvertieren (nachdem sie im CSV-Format gespeichert wurde).

0
barakadam

Ich habe versucht, https://www.rebasedata.com/convert-mdb-to-mysql-online und es funktioniert ziemlich gut.

Online-Lösung ohne Registrierung.

0
SandroMarques