Hallo miteinander, ich wünsche allen erst mal ein gesundes neues Jahr. Trotz Eurer Hinweise, habe ich es mit meiner ursprünglich angedachten Vorgehensweise nicht geklappt. Nachdem ich nochmals die MySQL-Doku etwas intensiver durchforstet habe, bin ich zu folgender Lösung gekommen: mysqlimport --local -u ${DBUSER} -p${DBPASSWD} -d --fields-terminated-by=',' --fields-enclosed-by='"' --fields-escaped-by='\' --lines-terminated-by='\r\n' ${DB} ${BACKUP_PATH}/dvd Mit dieser Zeile werden die Daten anstandslos in meine Datenbank importiert. Vielen Dank für Eure Beteiligung. Gruss Andreas
Hallo,
Am Mittwoch, 31. Dezember 2003 14:02 schrieb Andreas Rau:
zunächst vielen Dank für Deine Antwort. Mit Deinem Vorschlag
echo "$MYSQL_TXT" | mysql ... bekomme ich folgende Fehlermeldung: ERROR 1102 at line 1: Incorrect database name '\n''
Zur Erinnerung noch mal meine LOAD DATA INFILE Zeile:
MYSQL_TXT="LOAD DATA INFILE '${BACKUP_PATH}/db_inserts' REPLACE INTO TABLE dvd FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '\' LINES ^^^^^^ TERMINATED BY '\\r\\n';"
Kann es sein, daß hier der "\" als Escapezeichen gewünscht ist? IMO müsste der dann selber escaped werden, da er ja so das nachfolgende Zeichen escaped und der dadurch das Statement wie folgt aussieht: LOAD DATA INFILE '/wo/auch/immer/db_inserts' REPLACE INTO TABLE dvd FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY ' LINES TERMINATED BY '\r\n';
Ehrlich gesagt kann ich oben genannte Meldung nicht nachvollziehen.
Möglicherweise versucht mysql dann den letzten Teil des Statements "\n'" als Dateiname zu interpretieren.
Servus, Daniel
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com