2016-06-11 4 views
1

Ich habe bereits eine Tabelle an Ort und Stelle, die ich mit den Daten aus einer externen XML-Datei zu füllen versuchen. Ich benutze die LOAD XML INFILE Funktion dafür mit der Abfrage unten. Ich bekomme jedoch eine #1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement und die Abfrage kann nicht ausgeführt werden. Kann mir bitte jemand erklären, was zu tun ist, damit ich es ausführen kann?Wie führe ich diese LOAD XML INFILE SQL Abfrage aus?

Hier ist die Abfrage Referenz.

LOAD XML INFILE 'C:\\Users\Shubham\Desktop\Part_Info.xml' 
INTO TABLE dbtest.part_no 
ROWS IDENTIFIED BY '<row>'; 
+0

Werfen Sie einen Blick auf [MySQL: Wie man anpackt - secure-file-priv] (http://stackoverflow.com/questions/32737478/mysql-how-to-tackle-secure-file-priv) – MikeT

+0

@ MikeT Vielen Dank für den Referenzlink, den Sie geteilt haben. Ich fürchte, ich hatte es schon gesehen und einige andere Fragen wie diese. Ich probierte den Workaround aus, den er vorschlägt (die Datei an den Ort zu verschieben, der von 'SHOW VARIABLES LIKE 'secure_file_priv" angestoßen wurde;), aber es hat nicht funktioniert und ich bin immer noch mit dem gleichen Fehler wie zuvor festgefahren. –

Antwort

0

Ich beantworte meine eigene Frage, da ich die Antwort selbst gefunden habe.

Für die Besonderheiten, ich arbeite unter Windows und installierte MySQL mit der allgemeinen WAMP Installation in-part.

habe ich versucht, die Lösung, die (in den Kommentaren oben) @MikeT vorgeschlagen. Die Abhilfe erwähnt wurde

  • Um die Datei, die Sie in das Verzeichnis von secure-file-priv durch die SQL-Abfrage SHOW VARIABLES LIKE "secure_file_priv";

jedoch der Fehler (für mich atleast) noch beibehalten gebracht angegeben importieren möchten zu bewegen. Aber der Fehler wurde (wieder, für mich atleast) gelöst durch die Verwendung zukunfts schlitzt statt Schrägstriche den Dateipfad verwendet wird, wie durch die folgende SQL-Abfrage angezeigt

LOAD XML INFILE 'D://Secondary/wamp64/tmp/Part_Info.xml' 
INTO TABLE dbtest.part_no 
ROWS IDENTIFIED BY '<row>' 

Hoffe, es hilft.

Verwandte Themen