Mailinglisten-Archive |
Andi Zaugg wrote: > > Wie kann ich eine Access-DB in eine mySQL-DB ueberfuehren? > Wieso willst Du die Access konvertieren ? > Du könntest auch die Access anbinden (ODBC). Das will man nicht, wenn man es vermeiden kann. Access ist keine richtige SQL-Datenbank mit einer ordentlichen Serverarchitektur, sondern eine lokale Datenbank a la DBase mit einem draufgestrickten SQL-Interface. Das bedeutet, daß es keinen Datenbank- Server gibt, sondern daß Deine Access-JET-Engine auf einer lokalen Datei rumarbeitet. Das funktioniert ganz gut, solange man dort im wesentlichen alleine ist, aber bei konkurrenten Zugriffen wird es sehr schnell sehr uneffizient. Die Ursache dafür ist, daß Locks auf Datensätze von der Engine auf Locks auf Dateien umgesetzt werden müssen. Dabei geht jede Menge Information verloren, im Gegensatz zu einem richtigen SQL-Server, der hier auf die verschiedensten Arten optimieren und organisieren kann. Verteilte Anwendungen (Datenbank in Frankfurt, Anwendung in Hamburg, Browser in Berlin) haben noch ein weiteres Problem, das enorm Performance kosten kann, selbst wenn man sehr "dicke" Leitungen installiert. Für den Anwender leistungsbestimmender Faktor ist meistens die Antwortzeit, die sich praktisch direkt auf die Umlaufzeit der Pakete abbilden läßt. Wenn man also Datenbank und Anwendung nicht am selben Standort hat, muß man dringend darauf achten, die Anzahl der zur Generierung der Antwort notwendigen Requests gering zu halten, denn jeder Request schlägt mit einer zusätzlichen RTT zu Buche. PHPLIB zum Beispiel drückt jeder Seite mindestens zwei Queries auf (page_open, page_close) und wenn man Umlaufzeiten von 250ms hat, dann ist das pro Seite eine zusätzliche halbe Sekunde Wartezeit, selbst wenn die Seite selbst in Nullzeit generiert wird. > > Gibt es fuer die Konvertierung Tools? > Wenn Ja würde es mich auch interessieren Es gibt ein "Upgrade-Tool" von Access nach MS Sql, das aber nicht korrekt funktioniert. Es transportiert zwar die grobe Datenbankstruktur, aber es ist nicht in der Lage, die Indexstruktur, Constraints und andere Integritäts- bedingungen in allen Fällen korrekt zu transportieren. In den meisten Fällen ist man mit einem manuellen Erzeugen der SQL-Struktur auf dem Zielsystem und einem Export/Import von CVS-Dateien besser bedient und bekommt so nicht nur korrekte, sondern auch reproduzierbare und oft auch schnellere Resultate. Wenn man erst einmal akzeptiert hat, daß es eine automatische Migration nicht gibt, ist man natürlich auch nicht mehr an den Pfad Access->MS SQL gebunden, sondern könnte gleich was richtiges nehmen. Kristian -- Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00 Using PHP3? See our web development library at http://phplib.shonline.de/ (GPL)
php::bar PHP Wiki - Listenarchive