Load_file bei unterschiedliche MySQL-Version

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

Load_file bei unterschiedliche MySQL-Version

Postby argonist » 23. April 2007 15:06

Ich möchte das Textdatei ins MySQL laden.
Auf meinen Rechner läuft MySQL 5.1 und auf Server MySQL 4.0
Auf meinen Rechner funktioniert mit LOAD_FILE prima. So habe ich das Befehl gleich auf Server benutzt, es funktioniert nicht. Wie kommt das? In der Tabelle steht NULL in einer Zelle, wo eigentlich das Inhalt von Textdatei dort gefüllt werden soll.

Code: Select all
insert into HTML_CONTENT(ID,CONTENT) values("11",LOAD_FILE('/home/Ponte/PonteWeb/Webinhalt/11.xml'));


Das Verzeichniss und Dateizhugriff habe ich schon geprüft.

Gruß
Manu
argonist
 
Posts: 9
Joined: 23. April 2007 14:44

Postby Wiedmann » 23. April 2007 15:48

Und welche Fehler, bzw Warnung, gibt dir MySQL nach Absetzten dieses Querys aus?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby argonist » 23. April 2007 15:54

Kein Fehlererscheinung. Es erscheint, dass es OK ist, als ich das Befehl gegeben habe. Aber in der Tabelle steht "NULL" in einer Zelle.
argonist
 
Posts: 9
Joined: 23. April 2007 14:44

Postby Wiedmann » 23. April 2007 16:00

Es erscheint, dass es OK ist, als ich das Befehl gegeben habe. Aber in der Tabelle steht "NULL" in einer Zelle.

Hast du das Ganze (als copy 'n paste der MySQL-Shell) zum Ansehen?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby argonist » 23. April 2007 16:20

ja ich habe ganze Query kopiert, gepastet und dann nur das Pfad geändert.

Auf Server:

Code: Select all
mysql> insert into HTML_CONTENT(ID,CONTENT) values ("11",LOAD_FILE('/home/argonist/11.xml'));
Query OK, 1 row affected (0.00 sec)

mysql> select * from HTML_CONTENT where id=11;
+----+---------+
| ID | CONTENT |
+----+---------+
| 11 | NULL    |
+----+---------+
1 row in set (0.00 sec)


auf mein Rechner:

Code: Select all
mysql> insert into HTML_CONTENT(ID,CONTENT) values("11",LOAD_FILE('/home/Ponte/PonteWeb/Webinhalt/11.xml'));
Query OK, 1 row affected (0.01 sec)

mysql> select * from HTML_CONTENT where id=11;
+----+-----------+
| ID | CONTENT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
+----+-----------+
| 11 | <div class="h1">Inhalt</div>........
argonist
 
Posts: 9
Joined: 23. April 2007 14:44

Postby Wiedmann » 23. April 2007 16:43

Ich hätte jetzt zwar gehofft, dass der Server was von "1 Warning" erzählt... (was sagt er denn bei einem "SHOW WARNINGS;" direkt nach dem Query?)

.. aber ich schätze einfach mal, dass dir das FILE Privileg fehlt auf dem Server.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby argonist » 23. April 2007 17:19

Leider funktioniert "show Warnings;" bei MySql 4.0 nicht.

Hab auch gedacht, es liegt an File Privileg.

sieh:
Code: Select all
/home/argonist # ll 11.xml
-rw-r--r--  1 root root 15620 2007-04-19 13:54 11.xml
argonist
 
Posts: 9
Joined: 23. April 2007 14:44

Postby Wiedmann » 23. April 2007 17:26

Leider funktioniert "show Warnings;" bei MySql 4.0 nicht.

Ah stimmt, deshalb kommt die bei dir wohl nicht.
(Wann wolltest du deinen Provider wechseln?)

Hab auch gedacht, es liegt an File Privileg.

sieh:

Wenn du an dieses Privileg deines MySQL-Users gedacht hast, wieso zeigst du hier dann die Dateiberechtigunen einer Datei.
(Zumindest ist so sichergestellt, dass der MySQL-Server lesend auf diese Datei zugreifen kann.)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby argonist » 23. April 2007 17:46

Sorry für die Missverständlich zwischen Dateiberechtigung und Privileg. Vorher meine ich an Dateiberechtigung.
Eben habe ich Root-Users umgestellt und es hat mit LOAD-File funktioniert. Mein Gott, wie viel Zeit habe ich daran gebraucht.


Vielen Dank für deine Hilfe
argonist
 
Posts: 9
Joined: 23. April 2007 14:44


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 3 guests