PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenbank in Mysql einlesen



dunervst
19.11.03, 16:13
Hallo,

ich habe da ein für mich grosses Problem. Ich habe hier einen kleinen Webshop den ich an eine FoxPro Datenband anbinden will. Ich habe einen Ordner da liegen die Dantenbank Dateien drin und will diese in die Mysql Datenbank des Webshops bekommen. Nur wie stelle ich das an ?
Ich will die Datenbank auch nicht jedesmal von Hand aktualisieren. Also muss es ein script sein, das ich über cron ausführen kann.
Kann mir jemand Tipps, Tricks und Links sagen wie ich das anstelle ? Vielleicht kann mir auch jemand direkt helfen. Allerdings habe ich nicht gerade viel ahnung von datenbanken und scripting.

Ich hoffe auf eure Hilfe.
Vielen Dank
Michael

Berufspenner
19.11.03, 17:23
Hi

Verstehe ich das richtig, dass du eine SQL Datenbank in deinen MySQL DB Server einlesen lassen willst?

Cu
André

shb
19.11.03, 18:28
hi also wenn du eine datenbank in eine exportieren willst ist das meines erachtens recht einfach über php zu erreichnm:
ganz einfach ich erkläre es mal von mysql zu mysql du must also das ding noch anpassen:

$daten = mysql_db_query("alte_db","select feld from tabelle_alt"),
while ($daten_erg = mysql_fetsh_row($daten)){
mysql_db_query("neue_db","insert into tabelle_neu value('" . $daten_erg[0] . "')")
}

vorher musst du dich noch mit der datenbank verbinden. und das script anpassen ist klar ne ich hoffe es hilft dir weiter.
zum thema php kannst du unter www.selfphp.* nach schauen

su shb

dunervst
20.11.03, 19:17
Es gibt dort schon ein importscript. Ich habe beim ersten ausführen eine Menge Fehler bekommen und gehe die jetzt Schritt für Schritt durch. Jetzt sieht es so aus als sind alle Module da. DBD und DBI und soetwas. Nun bin ich kurz vorm import der Tabellen (lief übrigens auf debian und jetzt habe ich das ganze bei mir auf redhat). Zeile 63 sieht so aus:
$dbh=DBI->connect("DBI:mysql:$mysqltable:$mysqlhost","$mysqluser","$mysqlpass");

und ich bekomme folgenden Fehler:

install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /opt/webshop/importer2001 /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.6.1/i386-linux /usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl .) at (eval 9) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: ADO, ExampleP, Multiplex, Pg, Proxy, XBase.
at ./import line 63

kann mir jemand sagen warum der kommt, bzw was ich machen muss damit er nicht mehr kommt.

Danke
Michael

dunervst
20.11.03, 19:33
Der Fehler war das die perl-DBD-mysql nicht eingespielt war. Im moment findet er meine Tabellen nicht. Die aber auf dem Server im richtigen Verzeichnis liegen.

LKH
20.11.03, 20:17
Hi,

kannst du denn auf "normalem" Weg auf die Daten in MySQL zugreifen? Die Verzeichnisse sind nämlich völlig egal, da das Perl-Programm nur eine Anmeldung an MySQL vornimmt, so wie jede andere Clientsoftware auch.

dunervst
20.11.03, 20:36
Ich komme jetzt auch an die Daten ran. Kann das nur erst am Samstag weitertesten. Melde mich dann nochmal ob alles geklappt hat.