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
Einen Kommentar schreiben: