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"




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.

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

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.


Danke im Voraus für die Hilfe
Kommentar