Access 2007: Datenbank exportieren (SQL, MySQL, OOo)

Diskutiere Access 2007: Datenbank exportieren (SQL, MySQL, OOo) im MS Office 2007 Forum im Bereich Office Produkte; Hi, ich habe hier eine Access 2007-Datenbank und möchte das Backend, also die Datenbank selbst auf einen MySQL-Server verschieben. (Das Frontend...
DiableNoir

DiableNoir

Threadstarter
Mitglied seit
18.01.2004
Beiträge
6.069
Hi,

ich habe hier eine Access 2007-Datenbank und möchte das Backend, also die Datenbank selbst auf einen MySQL-Server verschieben. (Das Frontend will ich später in OpenOffice Base neu erstellen. Makros, Formulare,... kann man deshalb getrost ignorieren.)

Mir ist dabei sehr wichtig, das die Relationen (bzw. Beziehungen) unter den Tabellen beibehalten wird.

Ich habe bereits die Export-Funktion von Access 2007 getestet. Dort habe ich den ODBC-Treiber für MySQL ausgewählt. Leider bricht der Vorgang immer mit der schlichten Meldung "Typen unverträglich" ab. Ich schätze mal dass es an ein paar inkompatiblen Datentypen liegt. Allerdings kann ich dieser nicht gerade informativen Meldung nicht entnehmen, welche Tabellen betroffen sind.

Über ODBC kann ich mir auch von OpenOffice auf die Access 2007 Datenbank Zugang verschaffen, aber ich habe keine Möglichkeit gefunden die Daten irgendwie zu transferieren.

Ein Export der kompletten Datenbank als XML-Datei oder SQL-Script beherrscht Access leider auch nicht. :flenn

Ich suche also für Access 2007:
> Einen Konverter der die Datenbank direkt nach MySQL konvertieren kann
> Eine Möglichkeit die Datenbank in ein SQL-Script mit DDL-Statements zu exportieren
> ...

Von MySQL habe ich leider auch kein Migrationstool gefunden. Ich wäre also froh, wenn mir jemand bei diesem Problem weiterhelfen könnte. Es wäre zwar nicht besonders schwer einen eigenen Konverter zu programmieren, aber leider fehlt es mir an der Zeit das durchzuführen. :sleepy

TIA
DiableNoir
 
A

AlienJoker

Gast
Ich sage es nur ungern, aber der eigene Konverter wird am schnellsten sein. Was du mal ausprobieren kannst, ist, die accdb in die Express-Edition vom MS SQL-Server zu importieren und von da weiterzumachen.
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
7.989
Wenn die Struktur nicht gar zu komplex ist, dann könntest Du die zunächst in MySQL neu modellieren und dann die einzelnen Tabellen via CSV ex- bzw. importieren. Wäre dann evtl. ein Mittelweg.
 
S

seitec3000

Mitglied seit
03.06.2010
Beiträge
1
hi,

ich hab damals eine Access 2003 DB mittels Bullzip Access To MySQL importiert und die Tabellen mittels ODBC verknüpft.

Es gibt aber einige Nachteile bei einen MySQL Backend:

1. Bei jeder Änderung an der Tabellenstruktur müssen die Tabellen neu ins Access verknüpft werden.
2. System/Benutzer-DSN und ODBC-Connector muss auf jeden PC vorhanden sein
3. Die Daten lassen sich nicht mehr über Abfragen bearbeiten
4. ...
 
A

AlienJoker

Gast
1. denke ich, dass unser evil Mod weiß, was er tut. Ich würde auch Firebird nehmen, aber das ist was Persönliches.
2. Daten in Abfragen sollte man auch nicht anfassen. Das macht SQL in den Tabellen und da gehört es hin.
3. Logo muss man die Tabellen bei Updates der Struktur neu verknüpfen. Das ist aber kein SQL-Problem, sondern liegt primär an Access
4. Anlegen von DSNs in der Systemsteuerung is ja weich. :D Sowas erledigt man in der Programmiersprache der Wahl

Außerdem ist Access gerade flott genug für einen Benutzer...

@DiableNoir: Ist das mit OOo-Base dein Ernst? Das Ding steckt doch noch in den Kinderschuhen. Der einzige wirkliche Pluspunkt ist, dass die Formulare stinknormale OOo-Dokumente sind. Laut der vorletzten Access-Entwickler-Konferenz ist es auch mit der Programmierbarkeit noch nicht so weit her. Da steckt noch viel Arbeit drin


5. Hätte ich fast vergessen: :welcome
 
M

ModellbahnerTT

Mitglied seit
20.04.2005
Beiträge
3.778
Alter
39
Gibt es unter Access die Möglichkeit per VB oder C/C++ die Struktur zu ermitteln? Wenn ja dann am besten eigenen Converter schreiben.
 
A

AlienJoker

Gast
Naja, du kannst jedes Objekt problemlos auslesen. Wie es mit diesen grauenvollen Nachschlagespalten aussieht, weiß ich leider nicht. Alles andere geht auf jeden Fall über die Tabledefs/querydefs
 
DiableNoir

DiableNoir

Threadstarter
Mitglied seit
18.01.2004
Beiträge
6.069
Hi, danke für die vielen Antworten. :blush

Neuaufbau?
Ein Neuaufbau ist leider keine Option. Ich habe zwar ein aktuelles ERD-Diagramm von der Struktur, aber Access ist leider so doof, dass man die Daten jeder Tabelle einzeln exportieren muss. Auch müsste ich später sämtliche Tabellen einzeln in die MySQL-Datenbank quetschen. Ich bin mir gerade nicht einmal sicher ob MySQL Workbench überhaupt CSV unterstützt. :blink (phpMyAdmin gibt es aus Sicherheitsgründen nicht.)

Noch dazu habe ich BLOBs, also Binärdaten, in der Datenbank. Das geht mit Sicherheit schief. :unsure

Konvertierung über Makro
Also VBA ist ziemlich umständlich. Ich kann die beiden Datenbanken über ODBC einfach an eine IDE wie Netbeans/Eclipse oder Visual Studio anschließen und dann mit einer richtigen Programmierumgebung ansprechen. Unter VisualStudio ist das besonders bequem und ich hätte sogar LinQ zur Seite. ;)

Das Problem ist, dass ich dann gleich einen kompletten Konverter schreiben würde, der dann auch mit Datenbank funktionieren würde. Zu einer Quick & Dirty-Wegwerflösung kann ich mich nur schwer überwinden. :wacko

Wieso MySQL?
Firebird habe ich bisher noch nie verwendet. Eigentlich ist der Grund der Umstellung auf MySQL der, dass ich von einer Desktopdatenbank weg will. Die neue MySQL-Datenbank befindet sich außerdem auf meinem Webserver, so dass ich von überall her darauf Zugriff habe. Das ist auch ein Hauptgrund für diese ganze Umstellung. Ansonsten wäre ja die Umstellung auf MSSQL sehr viel einfacher gewesen.

So habe ich auch mobil mit Notebok & Netbook bzw. vom Campus darauf Zugriff. ;) (Und hoffentlich später auch mit einem Android-Smartphone.)

Neues Frontend
Der Grund für OOo Base wäre die Erweiterbarkeit über Java gewesen. Auch könnte ich die Datenbank unter Linux verwenden.

Aber inzwischen denke ich ist es besser, wenn ich mir einfach ein eigenes Frontend mit Java/Mono bastle. OOo Base ist mir bei der Verbindung mit JDBC/ODBC mindestens 3-mal abgestürzt. Access dagegen ist "nur" beim Upsizing-Assistenten einmal hängen geblieben.

Ich verstehe nicht, warum diese Desktopfrontends eine so miese Qualität und einen so geringen Funktionsumfang haben. Besonders Access enttäuscht mich, weil es im Endeffekt sehr viel komplizierter ist, als alles selbst zu programmieren. :thumbdown

@seitec3000:
Danke, werde das Tool mal testen. Wäre natürlich genial, wenn es funktionieren würde, ohne dass ich einen Finger rühren müsste. :D

Da ich das Frontend ja auch auswechseln will, ist es egal, wenn Access umgestellt werden müsste. Außerdem habe ich ja eine Schicht mit einigen Views dazwischen. Es würde ausreichen, wenn ich nur die Views neu verknüpfe.
 
M

ModellbahnerTT

Mitglied seit
20.04.2005
Beiträge
3.778
Alter
39
Vielleicht ist es einfacher die Datenbank in eine Postgresql Datenbank zu convertieren.
 
DiableNoir

DiableNoir

Threadstarter
Mitglied seit
18.01.2004
Beiträge
6.069
Also ich hab' jetzt mal das Tool von seitec3000 ausprobiert. Er ist extrem langsam und überträgt noch die Datenbank aber es scheint zu klappen. :up ...aber mal abwarten, ob es nicht doch Überraschungen mit den Blobs und Relationen gibt. :D


@ModellbahnerTT:
Was genau, sollte das ändern? :unsure

Auf dem Webserver läuft schon MySQL. Denke ich bleibe dabei. Mit der InnoDB-Engine kann man auch gut damit arbeiten. ;)
 
Thema:

Access 2007: Datenbank exportieren (SQL, MySQL, OOo)

Sucheingaben

access 2007 datenbank in mySql

,

sql tabelle exportieren

,

access datenbank exportieren sql

,
access 2007 accdb exportieren

Access 2007: Datenbank exportieren (SQL, MySQL, OOo) - Ähnliche Themen

  • Access 2007 - Informationen berechnen

    Access 2007 - Informationen berechnen: Wie gebe ich eine Rechenformel im Access ein? In meinem Handbuch steht Umschalt Taste + F2 ... dann kann man in einem neuen Datenfeld eine...
  • Access 2007 Abfrage kriterium aus String und Zahl

    Access 2007 Abfrage kriterium aus String und Zahl: Hallo Ihr Lieben! Ich habe eine Abfrage erstellt in der ein Kriterium aus einem String und aus einer Zahl besteht. Wie kann ich nun aus...
  • GELÖST Access 2007 VBA Laufzeitfehler '3071'

    GELÖST Access 2007 VBA Laufzeitfehler '3071': Hallo Ihr Lieben! Ich kann mir folgendes nicht erklären: Bei dem Versuch einen Bericht zu drucken tritt plötzlich der Laufzeitfehler '3071' auf...
  • GELÖST Access 2007: Passwort aus Access 2003 löschen

    GELÖST Access 2007: Passwort aus Access 2003 löschen: Hallo Leute Ich habe mein Access von 2003 auf 2007 geupdatet (oder heisst es upgedatet???). Bei einer Datenbank habe ich in der 2003-Version ein...
  • ACCESS 2007: Nicht verwendete Objekte ermitteln

    ACCESS 2007: Nicht verwendete Objekte ermitteln: Hallo Ihr Lieben! Ich habe eine ACCESS 07 Anwendung vorliegen die entrümpelt werden soll. Es geht darum alle nicht mehr relevanten Tabellen...
  • Ähnliche Themen

    • Access 2007 - Informationen berechnen

      Access 2007 - Informationen berechnen: Wie gebe ich eine Rechenformel im Access ein? In meinem Handbuch steht Umschalt Taste + F2 ... dann kann man in einem neuen Datenfeld eine...
    • Access 2007 Abfrage kriterium aus String und Zahl

      Access 2007 Abfrage kriterium aus String und Zahl: Hallo Ihr Lieben! Ich habe eine Abfrage erstellt in der ein Kriterium aus einem String und aus einer Zahl besteht. Wie kann ich nun aus...
    • GELÖST Access 2007 VBA Laufzeitfehler '3071'

      GELÖST Access 2007 VBA Laufzeitfehler '3071': Hallo Ihr Lieben! Ich kann mir folgendes nicht erklären: Bei dem Versuch einen Bericht zu drucken tritt plötzlich der Laufzeitfehler '3071' auf...
    • GELÖST Access 2007: Passwort aus Access 2003 löschen

      GELÖST Access 2007: Passwort aus Access 2003 löschen: Hallo Leute Ich habe mein Access von 2003 auf 2007 geupdatet (oder heisst es upgedatet???). Bei einer Datenbank habe ich in der 2003-Version ein...
    • ACCESS 2007: Nicht verwendete Objekte ermitteln

      ACCESS 2007: Nicht verwendete Objekte ermitteln: Hallo Ihr Lieben! Ich habe eine ACCESS 07 Anwendung vorliegen die entrümpelt werden soll. Es geht darum alle nicht mehr relevanten Tabellen...
    Oben