Hallo Jochen.
Ich muss eine (17 MB grosse) M$ Access Datenbank in eine MySQL Datenbank speichern, und dass soll per Cronjob dann täglich geschehen. (Ich habe _kein_ Windows Rechner zur Verfügung)
Ich habe bereits ODBC auf dem Rechner installiert, jetzt aber wie importiere ich nun diese Access (.mdb) Datei in MySQL? Das Ganze soll natürlich möglichst Resourcensparend gehen. Ich habe den Thread verfolgt und war eigentlich gespannt auf eine Lösung Deines Problems, da das etwas ist, das mir ebenfalls am Herzen liegt.
Schön zu wissen, dass auch andere Probleme haben ;-)
Leider hat das nun mit den anderen Hinweisen nicht geklappt, weshalb ich mich jetzt mal melde. Vorraussetzung meiner Idee ist, dass Du nur die Daten der Access DB übertragen möchtest.
Ja, das ist auch so, ich muss keine Dateien schreiben. Nur einlesen
Dann wäre es möglich, mit Visual Basic in Access ein Export-Modul zu schreiben, dass die gewünschten Daten in eine Textdatei je Tabelle o. ä. exportiert. Diese Textdatei läßt sich dann mit mysqlimport einlesen. Nach ein paar Tests solltest Du schnell das notwendige Format der Textdatei herausgefunden haben.
Mit Visual Basic zu Textfiles? Aber unter Windows, oder? Das muss bei mir eben unter Linux laufen...
Nun sollte regelmäßig jemand das Modul abfahren, damit Du nun an Deine Textdatei(en) rankommst und diese dann via cronjob importieren kannst.
Mir ist völlig klar, dass es da ein paar Nachteile gibt: 1. Irgendjemand muss das Modul programmieren,
Kann ich nicht, da ich leider kein VB programmieren kann.
2. Irgendjemand muss regelmäßig das Modul abfahren.
Unter Windows?
Aber ich glaube wirklich, dass das derzeit die einzige Lösung ist. Ich habe schließlich selbst schon einige Zeit gesucht.
Ich versuche es auch schon seit längerer Zeit. Habe es aber schon mehrmals aufgegeben. Und so wie es bis jetzt aussieht komme ich nicht darum, einen Windows Server anzuschaffen und dem per Taskplaner den Auftrag zu geben das Access-File zu lesen und auf den Linuxserver hochzuladen. Für sowas gibt es mehrere sehr gute Lösungen So habe ich auch keine Arbeit, aber eben einen Windowsserver. Gruss und Danke, NiX.
Hallo Erich,
[...] Mit Visual Basic zu Textfiles? Aber unter Windows, oder? Das muss bei mir eben unter Linux laufen...
Unter Windows würde gehen.
[...] Und so wie es bis jetzt aussieht komme ich nicht darum, einen Windows Server anzuschaffen und dem per Taskplaner den Auftrag zu geben das Access-File zu lesen und auf den Linuxserver hochzuladen. Für sowas gibt es mehrere sehr gute Lösungen
Ich nehme einfach mal an, Du hast einen Kunden, der Daten über Access oder eine andere Jet-basierte Anwendung einpflegt. Die DB lädt er dann auf den Server hoch, um aus einer Web-Applikation heraus auf seine Daten zuzugreifen. Dann wäre es wahrscheinlich am einfachsten remote per ODBC auf den Windows-Server zugreifen.
So habe ich auch keine Arbeit, aber eben einen Windowsserver.
Du wirst ihn mögen ;-) Eine weiter Möglichkeit gäbe es noch: falls die Access-Datenbank nur aus wenigen (im Idealfall nur einer) Tabellen mit unkomplizierten Datentypen besteht, könnte man in Access einen Export als Textdatei machen und die diese Datei dann, wie von Jochen vorgeschlagen, mit mysqlimport in MySQL importieren. Das würde dann die Programmierung mit VB ersparen. -- Grüße, Alex
Hallo! *so, hab meine digitale Signatur wieder ausgeschaltet, offenbar gab es da Probleme mit hier in der Liste :-(( * Alexander Veit schrieb:
[...] Mit Visual Basic zu Textfiles? Aber unter Windows, oder? Das muss bei mir eben unter Linux laufen...
Unter Windows würde gehen.
[...] Und so wie es bis jetzt aussieht komme ich nicht darum, einen Windows Server anzuschaffen und dem per Taskplaner den Auftrag zu geben das Access-File zu lesen und auf den Linuxserver hochzuladen. Für sowas gibt es mehrere sehr gute Lösungen [...] Eine weiter Möglichkeit gäbe es noch: falls die Access-Datenbank nur aus wenigen (im Idealfall nur einer) Tabellen mit unkomplizierten Datentypen besteht, könnte man in Access einen Export als Textdatei machen und die diese Datei dann, wie von Jochen vorgeschlagen, mit mysqlimport in MySQL importieren. Das würde dann die Programmierung mit VB ersparen.
Ja das stimmt. Braucht aber Windows. Dann könnte man (ohne Programieren) Makros zusammenklicken, die immer starten, wenn man die DB in Windows öffnet. Ohne Programmieren aber dafür Makros (in Access: BAH!) Und dann Access in den Taskplaner oder so. Aber schön ist das irgendwie nicht. Gruß, Ralf -- :: Ralf Carlet :: Fon & Fax: +49-(0)700-RALFCARLET :: eMail: ralf@carlet.de :: Web: http://www.carlet.de :: () ascii ribbon campaign - gegen html mail :: /\ - gegen proprietäre attachments
[...] Eine weiter Möglichkeit gäbe es noch: falls die Access-Datenbank nur aus wenigen (im Idealfall nur einer) Tabellen mit unkomplizierten Datentypen besteht, könnte man in Access einen Export als Textdatei machen und die diese Datei dann, wie von Jochen vorgeschlagen, mit mysqlimport in MySQL importieren. Das würde dann die Programmierung mit VB ersparen.
siehe dazu http://www.aspheute.com/artikel/20010731.htm -- Alex
participants (3)
-
Alexander Veit
-
NiX - Erich Troxler
-
Ralf Carlet