2016-06-11 96 views
1

我已经有一个表,我试图使用外部XML文件中的数据填充。我正在使用LOAD XML INFILE函数,使用下面的查询。但是,我收到#1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement,查询无法执行。任何人都可以请启发我什么需要做,以便我可以执行它?如何执行LOAD XML INFILE SQL查询?

以下是供参考的查询。

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

看看[MySQL:如何解决--secure-file-priv](http://stackoverflow.com/questions/32737478/mysql-how-to-tackle-secure-file-priv) – MikeT

+0

@ MikeT感谢您分享的参考链接。恐怕我已经看到它和其他一些类似的问题了。我尝试了他建议的解决方法(将文件移动到由'SHOW VARIABLES LIKE'secure_file_priv';'提示的位置),但它没有工作,并且仍然与以前一样陷入了同样的错误。 –

回答

0

我在回答我自己的问题,因为我自己找到了答案。

对于具体情况,我正在Windows上工作,并安装了MySQL,并且安装了一般的WAMP。

我尝试了@MikeT(在上面的评论中)建议的解决方案。提到的解决方法是

  • 要移动要导入到由SQL查询SHOW VARIABLES LIKE "secure_file_priv";

但是错误(对我来说ATLEAST)依然坚持把secure-file-priv指定的目录下的文件。但错误得到解决(再次,对我来说ATLEAST)通过使用正向斜杠,而不是使用文件路径反斜杠,通过下面的SQL查询

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

希望它可以帮助所示。