gpt4 book ai didi

c# - 尝试读取结果集时遇到 fatal error 。 MySQL 网站

转载 作者:行者123 更新时间:2023-11-29 05:59:55 26 4
gpt4 key购买 nike

当我尝试将数据从 txt 文件插入到 mysql 表中时,我收到了该错误。我尝试使用整个列表,只有 1 个项目,使用 csv,甚至删除“”并创建一个只有一个字段的新表,但问题在 30 秒后继续发生。在我的 txt 中有一个数字列表,我需要在表的 1 个字段中插入这些数字,尽管该表具有三个不同的字段。先感谢您。

protected void Button1_Click(object sender, EventArgs e)
{
if (FileUploadControl.HasFile)
{
try
{
if (FileUploadControl.PostedFile.ContentType == "text/plain")
{

string filename = Path.GetFileName(FileUploadControl.FileName);
FileUploadControl.SaveAs(Server.MapPath("~/") + filename);
StatusLabel.Text = "Upload status: File, "+filename+" uploaded!";
string dir = Server.MapPath("~/") + filename;
string strcon = "SERVER = 000.000.000.00; " + "DATABASE=fakedb;" + "UID=fakeid;" +"PASSWORD=fakepass;";
Response.Write(dir);
MySqlConnection con = new MySqlConnection(strcon);
con.Open();
MySqlCommand cmd = new MySqlCommand("LOAD DATA LOCAL INFILE '" + filename + "' INTO TABLE Cuenta_Test LINES TERMINATED BY '\n\r'", con);
cmd.ExecuteNonQuery();
con.Close();
}
else
StatusLabel.Text = "Upload status: Only txt files are accepted!";
}
catch (Exception ex)
{
StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
}
}
}

最佳答案

您的 MySqlCommand 命令文本似乎不正确。它应该是这样的(请注意,您需要使用双反斜杠 \\ 而不是单反斜杠 \ 这样 C# 就不会将行终止符视为转义序列,它用于 MySQL 命令字符串):

MySqlCommand cmd = new MySqlCommand("LOAD DATA LOCAL INFILE '" + filename + "' INTO TABLE Cuenta_Test LINES TERMINATED BY '\\n\\r'", con);

或者将命令文本与 string.Format 和文字字符串一起使用,如下所示:

MySqlCommand cmd = new MySqlCommand(string.Format(@"LOAD DATA LOCAL INFILE '{0}' INTO TABLE Cuenta_Test LINES TERMINATED BY '\n\r'", filename), con);

注意:在读取 CSV 文件并将其内容保存到数据库时,您还可以使用 FIELDS TERMINATED BY ',' 作为字段分隔符。

确保加载数据命令成功的其他建议:

1) 尝试在 MySQL Workbench 中运行相同的命令。检查不正确的数据类型错误。

2) 使用 CommandTimeout 属性增加命令超时:

cmd.CommandTimeout = 120; // 2 minutes (example)

3) 在写入数据库之前规范化文本文件的行尾。 \n\r 转义不同于 \r\n(利用 Replace,可能使用转义序列正则表达式)。

关于c# - 尝试读取结果集时遇到 fatal error 。 MySQL 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45871997/

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