php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.07.2011, 15:10  
Erfahrener Benutzer
 
Benutzerbild von serious-cool
 
Registriert seit: 12.09.2008
Beiträge: 154
PHP-Kenntnisse:
Fortgeschritten
serious-cool befindet sich auf einem aufstrebenden Ast
Standard mdb -> mysql

Hallo zusammen,

ich sitze gerade vor einem kleinen Problem: Ich habe eine ca.2,5 GB große mdb Datenbank in eine MySQL Datenbank umgewandelt werden muss.
Bisher habe ich diverse kleine Freeware-Tools versucht, die aber alle abstürzen oder die Spalteneigenschaften nicht adaptieren.
Es sind ca. 120 Tabellen mit 5000+ Spalten die ich nicht alle manuell sichten/prüfen kann.

Kennt jemand von euch eine Software (gerne auch kostenpflichtig) die mir die Arbeit abnehmen kann?
__________________
Ein Klauenhammer ist kein Schraubendreher, auch wenn beide das Problem ,,Schraube-Wand" bidirektional lösen können.

Geändert von serious-cool (06.07.2011 um 22:06 Uhr). Grund: 2,5 GB statt 25 GB
serious-cool ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.07.2011, 15:17  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

GigaByte?!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 06.07.2011, 15:26  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

öh .. ohne boshaft klingen zu wollen ....mir fallen da spontan 2 Wege ein

1) php+webserver auf dem Windows-Server rauf (mit mysql_erweiterung) dann kannst du über odbc die Daten Tabelle für Tabelle auf den Mysql-Server übertragen - wegen der Maximalen Ausführungszeit werden das pro Scriptdurchlauf wohl nicht besonders viele Sein ...

2) versuch von Access(?) einen Dump in CSV-Format zu machen
den kannst du dann versuchen per phpmyadmin / read data infile oder auch wieder mit eigenen Script in die Mysql-Datenbank zu schreiben .... auch dabei musst du stückeln, weil es für phpmyadmin wohl zu viele Daten sind (Begrenzung auf ca 2 mbyte pro Eintrag) ...

Aber ich kenn kein fertiges Tool, dass dir sowas abnimmt -LEIDER-
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 06.07.2011, 15:33  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
mit 5000+ Spalten
Halt auch die Frage, ob ungesichtetes Überspielen in ein anderes Medium so sinnvoll ist.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 06.07.2011, 15:36  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 1.019
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Stichwort wäre DataPump, aber wie du schon richtig bemerkt hast, haben die Tools zum Teil Probleme mit den Spalteneigenschaften.

Du könntest versuchen über ein Tool deiner Wahl die Metadatan zu extrahieren per Replace ggf. MS-Spezial-SQL in MySQL-Spezial-SQL zu wandeln und dann eines der DataPump-Tools benutzen um die Inhalte zu verschieben.
__________________
Wir suchen PHP Entwickler (Vollzeit) im Raum Darmstadt / Rhein-Main. Infos via E-Mail mueller@new-frontiers.de
mquadrat ist offline   Mit Zitat antworten
Alt 06.07.2011, 15:47  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

ajo ... wie es mquadrat schrieb ....

je nachdem wie programmiertechnisch fit du bist ... ich würd mein Glück mit Java oder C# versuchen - wegen der Arbeitsgeschwindigkeit letzteres bevorzugt.

Beide liefern dir bei Datenbankabfragen diese Metadaten :

du "sagst" SELECT * FROM tabelle1

und neben den eigentlichen Daten kannst du die Metadaten abfragen:
Spaltentyp
ich glaub sogar Zeichenbegrenzungen bei variablen Texttypen

aus diesen Meta-Daten kann man mit einigem Geschick halbautomatisch das Create-Table-Statement nach mysql_Manier machen .. und dann die Daten da "reinprügeln" ..

schwieriger wird es bei Abhängigkeiten der Tabellen untereinander ...die musst du wahrscheinlich hinterher manuall per alter table <tabelle> add foreign key spalte references tabelleX.spalteY ... einbauen
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 06.07.2011, 16:03  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Zitat:
Zitat von serious-cool Beitrag anzeigen
Ich habe eine ca.25 GB große mdb Datenbank
Das muss ein Tippfehler sein, 25GB geht weit über die Kapazitäten von MS-Access hinaus:
http://www.databasezone.com/techdocs/acclimit.html

Und ihr könnt diese Datenbank in MS-Access noch öffnen/bearbeiten?
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 06.07.2011, 16:21  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

@istegelitz - vielleicht ist das ja der Grund für die "Migration" -- MSAccess wackelt nur noch mit den Ohren, wenn es diese riesige Datenbank öffnen soll
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 06.07.2011, 17:18  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Da frage ich mich: wie konnte die Datenbank überhaupt so groß werden? Eigentlich hätte die zugrundeliegende DB Engine bereits lange vorher anfangen müssen zu streiken (Limit 2GB).

Um es anders herum zu sagen: Es kann sein, das du (@TE) Pech hast und die Datenbank Datenmüll ist, wenn keine Engine mehr das Datenfile öffnen kann (ähnlich zu bewerten wie ein "corrupted data file")
Das die ausprobierten Tools alle abstürzen dürfte mitunter daran liegen, das sie alle auf derselben Engine aufsetzen. Hinzu kommt, das Access (wie man es von Microsoft gewohnt ist) ein propietäres Format ist, das nicht offen gelegt wird. In diesem Fall gibt es keinen anderen Anbieter, der dir eine Engine liefern könnte, die vielleicht damit umgehen kann.

Ich hab z.T. ähnliche Sorgen mit Access Files, nicht aufgrund der Größe, sondern aufgrund besagter "corrupted data files" (allerdings ein altes Accessformat). Datenbank lässt sich nicht mehr öffnen, Reparaturtools versagen -> Schrott. Ich erzeuge an allen Ecken und Enden Backups, um "drumherum zu arbeiten" (workaround). Alle bisherigen Recherchen haben zum selben Ergebnis geführt (ein berühmtes Zitat aus Rocky 4!): "Wenn er tot ist, ist er tot"
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 06.07.2011, 22:00  
Erfahrener Benutzer
 
Benutzerbild von serious-cool
 
Registriert seit: 12.09.2008
Beiträge: 154
PHP-Kenntnisse:
Fortgeschritten
serious-cool befindet sich auf einem aufstrebenden Ast
Standard

Edit: Stimmt: Die Datei hat ~2,5 GB hab mich um ein Komma vertippt. Das Ergebnis ist allerdings das gleiche: Dauert Jahre um sie zu öffnen. Offtopic: Die Sperre lässt sich definitiv aus hebeln.

hmm, ich habe leider so gut keine Erfahrung mit ODBC Datenbankanbindungen. Da werde ich wohl um Java nicht herum kommen.
__________________
Ein Klauenhammer ist kein Schraubendreher, auch wenn beide das Problem ,,Schraube-Wand" bidirektional lösen können.

Geändert von serious-cool (06.07.2011 um 22:05 Uhr).
serious-cool ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mysql funktioniert nicht (Erweiterung nicht erkannt!?) pfump Server, Hosting und Workstations 10 17.03.2012 11:07
[Erledigt] Datensätze von einer MySQL in eine andere MySQL Datenbank abgleichen Marvin75 Datenbanken 7 10.06.2011 18:00
Mysql Server startet nicht mehr Nicolas2006 Datenbanken 2 20.03.2011 16:03
PHP Zugriff auf MySQL Community Server gewähren daemonTutorials Datenbanken 8 21.02.2011 12:28
MySQL Datentransfer (Dateigroesse 4MB) via Shell Zugang oder einfacher promoterlv Datenbanken 1 14.11.2010 22:12
[Erledigt] PHP bekommt keine Verbindung zu MySQL SaKe Datenbanken 15 20.09.2010 14:45
Lerne Grundlagen | Quellensammlung cycap PHP Einsteiger 0 12.11.2008 16:23
[Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank _youngenterpriser_ Datenbanken 2 05.02.2008 17:56
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
MySQL &amp;amp; PHP: Problem mit Password() Datenbanken 10 19.09.2005 11:00
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mdb to mysql, mdb datenbank nach mysql 2012, .mdb to mysql, mysql gb große db selects optimieren, php mdb, mysql mdb fremdschlüssel problem, mysql select optimierung kanten wege, mdb to mysql php, mdb to sql php, mdb nach mysql, mysql to .mdb, mdb zu mysql, php .mdb mysql, .mdb 2gb grenze umgehen, mdb in mysql, mysql erorr 1044 acess denied, große mdb in mysql, mdb mysql, mdb php mysql

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:50 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum