Access07 nach MySql

Alfred_

Erfahrenes Mitglied
Hi,
Mit dem MigrationsTool versuchte ich eine AccessDb nach MySql zu transferieren. Das Schema konnte ich übertragen, aber nicht die Tabellen. Jetzt habe ich die Vermutung, dass dieses Tool nur für die alte Access Version gültig ist. Im MySqlForum gibt es zwar Anleitungen, wie man z.B. über die Konsole eine CSV-Datei überspielt, aber dazu bin ich etwas zu wenig firm.
Gibt es einen anderen Weg, denn ein händisches Tippen wäre sehr "mühsam"?.
Grüße
 
Hi
Handelt es sich um sehr viele Tabellen? Wenn nein kannst du die Tabellen in Access einzeln öffnen, alles markieren und in Excel kopieren. Dort kannst du ganz einfach mit den Excelfunktionen die Inserts zusammenbasteln.
Ala:
Code:
="INSERT INTO tbl (field1, field2) VALUES("&A1&", "&B2&");"
Naja.. ist nur eine Notlösung. Die aber funktioniert und ich auch (für kleine Sachen) schon paar mal benutzt habe.
Eine andere Idee wäre noch die Access 07 DB nach Access 2003 zu konvertieren und dann den üblichen Web über das Migration Toolkit. Ob das Access 07 kann weiss ich nicht da ich es noch nicht benutze.


PS: Wieso ist es eigentlich mal wieder Access 07 aber Office 08?
 
Hi,
zuerst zu Deinem PostScriptum.
Interessant, ist mir in diesem Zusammenhang noch nicht aufgefallen. Wahrscheinlich das Veröffentlichungsdatum mit Schreibfehler?
Die 2.Variante Access07 abwärts zu konvertieren, schlug fehl.
Das MySqlTool zeigt mir zwar das Schema (Db) und die Tabellen, aber da nur den Datentyp ohne Inhalte mit Error-Icon. An sich benötige ich nur 2 Tabelleninhalte mit jeweils rd. 2000 Datensätzen. Diese Tabelleninhalte habe ich paralell in einem ExcelSheet evident.
Wenn ich Dich richtig verstanden habe, dann muß ich mir die Daten über VB.Net vom ExcelSheet holen und in die entsprechende MySql-Tab kopieren?
Richtig?
Vorerst Danke für Deinen Tip und Grüße
 
Hallo Alfred,

Wenn ich Dich richtig verstanden habe, dann muß ich mir die Daten über VB.Net vom ExcelSheet holen und in die entsprechende MySql-Tab kopieren?
Richtig?

Nein so meint er das sicher nicht, oder ?
Wenn du dir daraus Insert Statements bastelst und diese in einer
Text Datei speicherst kann du diese in MySQL einlesen, ohne ein
externes Programm.
Aber Apropros VB.NET

Ich habe ein VB.NET Tool geschrieben bzw. mal begonnen mit einem was sowas
macht. Leider geht bisher nur die andere Richtung von MySQL to Access,
weil ich das mal gebraucht hatte.
Access to MySQL ist leider nicht fertig und wird auch leider auch nicht ganz so schnell, da wie immer am Ende des Jahres viel zu tun ist.
Grundsätzlich geht das aber in .NET zu machen.
Geplant ist eigentlich in allen Richtungen ,... Access,MySQL und SQLServer
zumnindest.

Gruß
Jens
 
Nein du verstehst mich falsch. Obwohl es sicher auch möglich ist über ein Tool die Daten in die DB zu schreiben. Aber ich denke das ist für eine einmalige Aufgabe zu viel Aufwand.
Ich nehme an du hast jedes Feld der Datenbank in einer separaten Zelle in Excel?
Angenommen du hast eine Tabelle mit 2 Feldern, in A1 und B1. Nun kannst du in C1 folgendes reinkopieren:
Code:
="INSERT INTO tbl (field1, field2) VALUES("&A1&", "&B2&");"
Ersetze tbl durch den Tabellennamen und field1, field2 durch den jeweiligen Feldnahmen. Diese Funktion kannst du um belibige Felder erweitern. Weist du wie ich meine? Danach ziehst du das Feld einfach so weit runter wie die Daten gehen und schon hast du die Insert Statements für die ganze Tabelle.

Ahh und Wenn der Wert ein String ist vergiss die ' nicht ;)

Greez
 
Zuletzt bearbeitet:
Hi,
kurz nach meinem Posting beschäftigte ich mich nochmals mit diesem MigrationsTool. Ich speicherte eine 07-Datei nach 03 und fütterte damit das Tool.
Da gibt es das "ObjectMapping" mit der Migration "type Table" mit mehreren Parametern.
Ich wählte die engine=MyISAM statt dem vorgegebenen Parameter "Datenkonsistenz" (engine=InnoDb) und damit gabe es keine Fehlermeldung! Die Datensätze muss ich mir noch genauer anschauen, aber wie es beim ersten Blick aussieht, dürfte die Migration ok. sein.
Da ich auch zur Laufzeit Tabellen mit dem Typ: MyISAM generiere, dürfte alles passen. Bitte fragt mich nicht nach MySql-Interna, da ich mich erst seit kurzem damit beschäftige :)
Grüße und Danke für Eure Hilfe
 
Zurück