加载数据本地infile未找到ERROR 2文件

时间:2011-10-02 01:08:56

标签: mysql load

我一直在用这个SQL错误撞击我的脸约45分钟,我觉得它会变得很傻。

我正在尝试将.txt文件加载到我的数据库中,该数据库位于其他地方的服务器上。我在Windows 7上使用putty。

我正在使用的sql调用如下: LOAD DATA LOCAL INFILE "C:/Users/Sam/Desktop/students_data.txt" INTO TABLE students;

我得到的回复是ERROR 2 (HYOOO): File 'C:/Users/Sam/Desktop/students_data.txt' not found (Errcode:2)

如果有人能够阐明这一点,那将是奢侈的。我已经尝试将/切换为\并使用单引号等,但似乎没有任何效果。通过shift +单击实际文件并粘贴它来复制文件路径。

7 个答案:

答案 0 :(得分:6)

我找到了解决方案。首先从sql语句中删除LOCAL一词。第二 - 通常将文件放入MySQL DATA文件夹 - bin / mysql / msql5.5.8 / data /以及您正在使用的DB。它对我有用。如果文件很大,您可能需要在php.ini文件中检查MAX_FILE上传编号。

答案 1 :(得分:2)

我也有这个问题,然后我读到了这个:

  

文件名必须以文字字符串形式给出。在Windows上,指定   路径名中的反斜杠为正斜杠或双反斜杠

(来自http://dev.mysql.com/doc/refman/5.1/en/load-data.html

使用了LOCAL关键字,但是像这样转义了文件路径:str_replace('\\','/',$file),然后就像魅力一样!

答案 2 :(得分:1)

也有这个并且使用cmd.exe解决了它,发现文件名错误地以filename.txt.txt的形式修复了它。

答案 3 :(得分:1)

将“/”替换为“/”作为(“”)中filename.txt之前的路径目录。如果你只是将文件保存在mysql数据文件夹中并做我上面提到的事情会更好。它肯定会工作。

答案 4 :(得分:1)

尝试将路径键入为C:\\mydir\\myfile.csv,即使用\\代替\

答案 5 :(得分:0)

 LOAD DATA  LOCAL INFILE 'C:\\cygwin\\home\\jml58z\\e_npv\\Fn_awk2010.mysql' INTO TABLE mydata

用双\它工作

答案 6 :(得分:-1)

对不起,我之前的回答是错误的。

在我的情况下,我连接到代理,而不是真正的物理mysql实例,因此它当然无法获取我的本地文件。

要解决此问题,请找出真正的物理mysql实例IP,直接将其连接。您需要DBA的帮助。