Eurokicker
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 29.12.2004, 23:51   #1
TP-Insider
 
Benutzerbild von lipsum
 
Registriert seit: Feb 2004
Ort: zinnwald / osterzgebirge
lipsum hilft, wo's gehtlipsum hilft, wo's gehtlipsum hilft, wo's geht

[MySQL] LOAD DATA LOCAL INFILE


mahlzeit gemeinde,

ich hab da ein problem / verständnisfrage zu "LOAD DATA LOCAL INFILE".

wenn ich per obigem befehl eine lokal bei mir auf dem rechner vorhandene csv-datei in die datenbank einlesen will, kommt bei mir die fehlermeldung, das die datei nicht gefunden wird, obwohl sie lokal bei mir vorhanden ist.

fehlermeldung:
Code:
mySQL ERROR (18): File 'd:/Temp/mappe.csv' not found (Errcode: 2)
mein query:
PHP-Code:
mysql_query("LOAD DATA LOCAL INFILE 'd:/Temp/mappe.csv' REPLACE INTO TABLE tabelle usw."); 
füge ich diese datei über ein formular per upload ein, klappt es problemlos.

wo bitte liegt da mein denkfehler?

hintergrund der ganzen geschichte:
ein kunde pflegt seinen veranstaltungskalender über ein offlinetool eines drittanbieters. die daten liegen dort als dbase-datei vor und werden von dem tool per FTP auf den server übertragen. weiterhin ruft das programm eine php-datei auf, die die dbase-daten dann in die mysql-datenbank schreibt.

da das offlinetool nun umgeschrieben wird und einen csv-export bietet, wollte ich mir die FTP-geschichte vom hals schaffen (muß ja nicht jeder das ftp-passwort kennen) und die csv über obige methode einlesen. da die csv-datei ja immer gleich heißt und an der selben stelle auf den lokalen rechner liegt, wollte ich eben einfach diese datei einlesen.

vielleicht gibts ja aber auch ne andere (elegantere) lösung. war nur so ne idee von mir.

gruß
steffen
lipsum ist offline   Mit Zitat antworten


Alt 30.12.2004, 16:02   #2
TP-Supporter
 
Registriert seit: Apr 2001
Judi macht alles soweit korrekt
Hallo

Dies solltest Du Dir einmal durchlesen. Vielleicht unterstützt Deine mySQL-Version LOCAL nicht.
http://dev.mysql.com/doc/mysql/de/LOAD_DATA.html

Es gibt bestimmt ne Menge Alternativen. Ich habe mal hiermit experimentiert. Die Datei wird via upload auf den Server geladen, danach wird das Script ausgeführt. Ist nur ein Beispiel.

PHP-Code:
<?PHP
// Verbindung zur mySQL - Datenbank herstellen
$server "localhost"$user "root"$pass "";
$database "datenbank";
$table ="tabelle";
$verbindung = @mysql_connect($server,$user,$pass)
    or die (
"Keine Verbindung möglich");
    
mysql_select_db($database$verbindung)
    or die (
"SQL-Fehler = ".mysql_error());
$csvFile "box.csv";
$csvData file($csvFile);
foreach(
$csvData as $v){
  
$csvRowData explode(";",$v);
  
$query "insert into $table Values
  ('"
.$csvRowData[0]."',
   '"
.$csvRowData[1]."',
   '"
.$csvRowData[2]."',
   '"
.$csvRowData[3]."')";
  
mysql_query($query);
}
?>
__________________
Liebe Grüße, die Judi!
Judi ist offline   Mit Zitat antworten
Alt 31.12.2004, 17:27   #3
TP-Insider
 
Benutzerbild von lipsum
 
Registriert seit: Feb 2004
Ort: zinnwald / osterzgebirge
lipsum hilft, wo's gehtlipsum hilft, wo's gehtlipsum hilft, wo's geht
hallo judi,

danke für das beispiel. aber ein upload mit formular und danach das einlesen in die db funktioniert ja. nur das direkte einlesen eines lokalen files klappt nicht.

meine mysql-version ist 3.23.56 - sollte das also unterstützen.

gruß und guten rutsch ins neue jahr
steffen
lipsum ist offline   Mit Zitat antworten
Alt 02.01.2005, 12:17   #4
TP-Supporter
 
Registriert seit: Apr 2001
Judi macht alles soweit korrekt
Huhu

also bei mir funktioniert das auch nicht. Kann evtl. auch ein Berechtigungsproblem sein. Ich habe da jetzt auch nicht mehr groß mit experimentiert. Und wenn die Profies hier auch keinen Tipp mehr haben ???

Was mir noch aufgefallen ist,

d:/Temp/mappe.csv

eigentlich gehören dort anstellen der backslashes beim lokalen Pfad einfache slashes hinein

d:\Temp\mappe.csv

oder evtl. einen Differenz bei der Groß- und Kleinschreibung.
__________________
Liebe Grüße, die Judi!
Judi ist offline   Mit Zitat antworten
Alt 04.01.2005, 01:28   #5
TP-Insider
 
Benutzerbild von lipsum
 
Registriert seit: Feb 2004
Ort: zinnwald / osterzgebirge
lipsum hilft, wo's gehtlipsum hilft, wo's gehtlipsum hilft, wo's geht
Zitat:
Zitat von Judi
d:/Temp/mappe.csv
habs sowohl mit slash, als auch mit backslash versucht (auch mit maskieren). groß-/kleinschreibung ist auch korrekt.
trotzdem danke für deine mühe.

kann denn sonst keiner helfen? *heul*
lipsum ist offline   Mit Zitat antworten
Alt 04.01.2005, 01:56   #6
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
Siehe Dokumentation, Zugriffsrechte sind zu beachten, wenn ich mich nicht irre das file-Feld.
Strogij ist offline   Mit Zitat antworten
Alt 04.01.2005, 02:20   #7
TP-Insider
 
Benutzerbild von lipsum
 
Registriert seit: Feb 2004
Ort: zinnwald / osterzgebirge
lipsum hilft, wo's gehtlipsum hilft, wo's gehtlipsum hilft, wo's geht
mmh, ich hab das so gelesen, das für "LOCAL" keine file-rechte nötig sind.
Zitat:
LOCAL ist etwas langsamer, als wenn der Server direkt auf die Dateien zugreifen kann, weil die Inhalte der Datei vom Client-Host auf den Server-Host übertragen werden müssen. Auf der anderen Seite benötigen Sie keine file-Berechtigung, um lokale Dateien zu laden.
außerdem meckert er ja nicht rum, das ich nich zugreifen darf, sondern das er die datei nicht findet. wenn ich die gleiche datei per formular uploade findet er sie ja auch.
lipsum ist offline   Mit Zitat antworten
Alt 04.01.2005, 02:42   #8
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
Hast du es schon mit doppelten " versucht?
Strogij ist offline   Mit Zitat antworten
Alt 04.01.2005, 03:16   #9
TP-Insider
 
Benutzerbild von lipsum
 
Registriert seit: Feb 2004
Ort: zinnwald / osterzgebirge
lipsum hilft, wo's gehtlipsum hilft, wo's gehtlipsum hilft, wo's geht
Zitat:
Zitat von Strogij
Hast du es schon mit doppelten " versucht?
ich hoffe, ich hab das richtig verstanden - habs jetzt mit doublequotes ("), statt singlequotes (') versucht, hat aber außer ner fehlermeldung nix gebracht.

oder sollte ich irgendwo zweimal quoten?
lipsum ist offline   Mit Zitat antworten
Alt 04.01.2005, 03:38   #10
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
Habe jetzt leider keinen MySQL-Server, aber die Google-Suche sagte mir:
Zitat:
...die Datei muss auf dem Rechner liegen, auf dem der Datenbankserver abläuft und die Datei muss world-readable sein. Man benötigt file_priv, um dieses Kommando ausführen zu können.
Quelle
Bin jetzt auch recht müde, aber versuch's mal mit file_priv.
Strogij ist offline   Mit Zitat antworten
Alt 04.01.2005, 03:59   #11
TP-Insider
 
Benutzerbild von lipsum
 
Registriert seit: Feb 2004
Ort: zinnwald / osterzgebirge
lipsum hilft, wo's gehtlipsum hilft, wo's gehtlipsum hilft, wo's geht
mmh, wenn ich da weiterlese:
Zitat:
Seit Version 3.22.6 von MySQL gibt es die Kommandovariante LOAD DATA LOCAL INFILE zum Importieren von Daten im CSV-Format. Dieses Kommando wird auf dem MySQL-Client (also im PHP-Interpreter) ausgeführt. Die Datei muss also auf dem Rechner liegen, auf dem der Client läuft und durch den Client lesbar sein. Man benötigt keine besonderen Privilegien, um dieses Kommando ausführen zu können. Dies ist die empfohlene Variante des Kommandos, falls die zur Verfügung steht.
allerdings macht mich jetzt das rot-markierte jetzt (nachdem ich das vorher schon x-mal gelesen hatte) doch stuztig: ist mit client etwa gar nicht mein lokaler rechner, sondern der webserver gemeint? kann aber auch an der frühen stunde liegen - irgendwie hab ich grad ne denkblockade.
lipsum ist offline   Mit Zitat antworten
Alt 05.01.2005, 10:11   #12
TP-Veteran
 
Benutzerbild von Scriff
 
Registriert seit: Nov 2002
Ort: bei Stuttgart (Esslingen)
Scriff macht alles soweit korrekt
hallole,

versuchs doch mal mit relativen pfaden

also zB.

'../Temp/mappe.csv'

relativ selbstverständlich von deinem ausführbaren Script gesehen..
zudem sollte das File eventuell im Webverzeichnis liegen, tut es dieses ?
Scriff ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
[MySQL] LOAD DATA LOCAL INFILE [MySQL] LOAD DATA LOCAL INFILE
« zwei Bilder mit PHP überlagern lassen | Login im Subweb »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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] Problem mit insert into Wanderratte Traum-Dynamik 2 11.10.2004 15:53
Macromedia - Partnerschaft mit Tech Data Madokan Flash News 0 03.03.2004 16:00
Can't connect to local MySQL bei cafelog torres Traum-Dynamik 16 13.01.2004 14:23
Macromedia Flash MX Data Connection Kit PortalNews Traum-News 0 24.04.2003 18:22
Tell Target ohne Load Movie maxxboost Flash 1 30.03.2002 20:21


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:44 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67