Hallo Zusammen,
OK, "schon wieder CSV" kann denn der nicht die SuFu oder Google benutzen
Habe ich gemacht, komme jedoch auf keinen "grünen Zweig"
Auch dieser Beitrag http://www.php.de/datenbanken/62748-...-moeglich.html
hat mir nicht weitergehlofen.
Der darin enthaltene Link auf DCLP-FAQ ist meiner Meinung nach Fehlerhaft oder ich intepretiere da was falsch.
LOAD DATA LOCAL INFILE...... importiert doch vom Client nicht vom Server die CSV-Datei. Wie kann im Client dieser Pfad (/home/www/servers/www.servername.de/tmp/import.csv) vorhanden sein?.
Auf dem Client muss doch ein Pfad wie "D:\Test\Test.csv" verwendet werden.
-------------------------------------------------
Jetzt aber zu meinem Problem:
Client's Windows ... 2000, XP, etc
Server Debian Linux
Von der Applikation müssen mehrmals täglich CSV-Dateien (exports aus Excel, Calc, SAP und Prozessrecher) importiert werden.
Diese werden vom Anwender in einem Datei-Dialog ausgewählt und dann in die entsprchende Tabelle auf den MySQL-Server importiert.
Der Datei-Dialog gibt den Filenamen zurück der in einer Variablen hinterlegt wird:
Der Dateiname enthält nur den Namen des Files ohne Pfad da das Auslesen des Pfades vom Client nicht möglich ist.
d.h. der Anwender muss dafür sorgen, dass die CSV-Dateien immer im gleichen Verzeichnis liegen obwohl mit dem Dateidialog auch eine Datei in einem anderen Pfad ausgewählt werden kann.
Zum Testen wird im SQL-Script der Dateiname hart Codiert.
anschließend kommt:
Es wird folgendes ausgegeben:
Ist eigentlich klar, da ja der / im Windows-Pfad nicht funktioniert.
Also noch mal mit dem \
nur die Erste Zeile des gesamten String's:
Ausgabe:
Ich bekomme das mit dem \ nicht hin!!
PS: Wenn ich die Datei auf den Server lege und mit $sql="LOAD DATA INFILE '/srv/www/applikation/phpMeinTestPL/tst2.csv'" ........; importiere funktiert es einwandfrei.
Wo ist mein Denkfehler
Danke im Voraus für die Hilfe
OK, "schon wieder CSV" kann denn der nicht die SuFu oder Google benutzen
Habe ich gemacht, komme jedoch auf keinen "grünen Zweig"
Auch dieser Beitrag http://www.php.de/datenbanken/62748-...-moeglich.html
hat mir nicht weitergehlofen.
Der darin enthaltene Link auf DCLP-FAQ ist meiner Meinung nach Fehlerhaft oder ich intepretiere da was falsch.
LOAD DATA LOCAL INFILE...... importiert doch vom Client nicht vom Server die CSV-Datei. Wie kann im Client dieser Pfad (/home/www/servers/www.servername.de/tmp/import.csv) vorhanden sein?.
Auf dem Client muss doch ein Pfad wie "D:\Test\Test.csv" verwendet werden.
-------------------------------------------------
Jetzt aber zu meinem Problem:
Client's Windows ... 2000, XP, etc
Server Debian Linux
Von der Applikation müssen mehrmals täglich CSV-Dateien (exports aus Excel, Calc, SAP und Prozessrecher) importiert werden.
Diese werden vom Anwender in einem Datei-Dialog ausgewählt und dann in die entsprchende Tabelle auf den MySQL-Server importiert.
Der Datei-Dialog gibt den Filenamen zurück der in einer Variablen hinterlegt wird:
PHP-Code:
$datei=$_FILES['userfile']['name'];
d.h. der Anwender muss dafür sorgen, dass die CSV-Dateien immer im gleichen Verzeichnis liegen obwohl mit dem Dateidialog auch eine Datei in einem anderen Pfad ausgewählt werden kann.
Zum Testen wird im SQL-Script der Dateiname hart Codiert.
PHP-Code:
$sql="LOAD DATA LOCAL INFILE 'D:/x/tst2.csv'";
$sql=$sql.' REPLACE ';
$sql=$sql.' INTO TABLE ';
$sql=$sql.TAB_CSV_IMPORT;
$sql=$sql." FIELDS TERMINATED BY ';' ";
$sql=$sql." LINES TERMINATED BY '\r\n' ";
PHP-Code:
echo $sql.'<BR/>';
//SQL-Abfrage ausfuehren
$ergebnis = mysql_query ($sql);
echo 'SQL Fehler : '.mysql_errno().'_**_'.mysql_error().'<BR/>';
LOAD DATA LOCAL INFILE 'D:/x/tst2.csv' REPLACE INTO TABLE csv FIELDS TERMINATED BY ';' LINES TERMINATED BY ' '
SQL Fehler : 2_**_File 'D:/x/tst2.csv' not found (Errcode: 2)
SQL Fehler : 2_**_File 'D:/x/tst2.csv' not found (Errcode: 2)
Also noch mal mit dem \
nur die Erste Zeile des gesamten String's:
PHP-Code:
$sql="LOAD DATA LOCAL INFILE 'D:\\x\\tst2.csv'";
LOAD DATA LOCAL INFILE 'D:\x\tst2.csv' REPLACE INTO TABLE csv FIELDS TERMINATED BY ';' LINES TERMINATED BY ' '
SQL Fehler : 2_**_File 'D st2.csv' not found (Errcode: 2)
SQL Fehler : 2_**_File 'D st2.csv' not found (Errcode: 2)
Ich bekomme das mit dem \ nicht hin!!
PS: Wenn ich die Datei auf den Server lege und mit $sql="LOAD DATA INFILE '/srv/www/applikation/phpMeinTestPL/tst2.csv'" ........; importiere funktiert es einwandfrei.
Wo ist mein Denkfehler
Danke im Voraus für die Hilfe
Kommentar