gpt4 book ai didi

c# - LOAD DATA INFILE 有时找不到文件?

转载 作者:行者123 更新时间:2023-11-29 13:51:43 26 4
gpt4 key购买 nike

我有一个将数据提交到 MySQL 数据库的应用程序,该数据库是从 csv 文件读取的。有时它工作得很好,但有时 LOAD DATA INFILE 无法从我告诉它的目录中找到该文件。

这是我得到的..

//making the damn query
string ctStr2 = "LOAD DATA INFILE 'C:/wamp/www/damnfile.csv' INTO TABLE " + tableName + " FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n'";

// Runs the sql command.
MySqlConnection conn = new MySqlConnection(connection);
MySqlCommand command = conn.CreateCommand();
command.CommandText = ctStr;
conn.Open();
command.ExecuteNonQuery();

差不多就是这样了...有时它可以完成工作,有时它会发出错误“找不到文件'C:/wamp/www/damnfile.csv' (Errcode:13)”

有人知道为什么这种情况不断发生吗?我很确定文件路径没问题。

谢谢!

最佳答案

根据another question中的回答, HY000 的错误代码 13 表示权限问题。另外,来自a bug report ,一些回复表明,

"For security reasons, when reading text files located on the server, the files must either reside in the database directory or be readable by all. Also, to use LOAD DATA INFILE on server files, you must have the FILE privilege. See Section 5.7.3, “Privileges Provided by MySQL”."

还有,

I also struggled with this. Turns out you need the file and directory to be world-readable: chmod 755 . chmod 744 file.dat

因此,有时导入时,文件的权限可能会不足。您是否按照某种计划转储到此文件?如果正在重新创建文件,并且您的导入在权限更改之前运行,则可能会出现这种结果。

关于c# - LOAD DATA INFILE 有时找不到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16593656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com