MySQL在执行命令时遇到的致命错误-在加载数据本地文件的文件夹中遍历所有csv文件

本文关键字:文件 文件夹 遍历 csv 加载 命令 执行 遇到 致命错误 MySQL 数据 | 更新日期: 2023-09-27 18:08:49

MySQL命令在MySQL本身工作得很好,但是当我在c#程序上执行时,它说"错误0已经发生:在命令执行期间遇到致命错误".

有什么我做错了这里与我的c#代码?我的代码循环遍历文件夹中的所有csv文件,然后将csv数据导入MySQL数据库。任何建议将非常感激!

private void btn_importCSV_Click(object sender, EventArgs e)
{
    var CSVfolder = Directory.EnumerateFiles(sourceDirCSV);
    foreach (string CSVfile in CSVfolder)
    {
        try
        {
            using (var connection = new MySqlConnection(strProvider))
            using (var command = connection.CreateCommand())
            {
                connection.Open();
                command.CommandTimeout = 5000000;
                command.CommandText = @"load data local infile 'C:''Full''Path''To''" + CSVfile + "' into table prices fields terminated by ',' lines terminated by ''n' (@date, Prices_Time, Prices_Open, Prices_High, Prices_Low, Prices_Close, Prices_Volume, Tickers_Ticker_ID) set Prices_Date = str_to_date(@date, '%e/%c/%Y');";
                command.ExecuteNonQuery();                        
                connection.Close();
            }
        }
        catch (MySqlException ex)
        {
            MessageBox.Show("Error " + ex.Number + " has occurred: " + ex.Message,
                "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }  
    }
    DialogResult dialogResult = MessageBox.Show("Done importing into MySQL database! Do you want to view the data via DataGrid table?", "View Table in DataGrid", MessageBoxButtons.YesNo);
    if (dialogResult == DialogResult.Yes)
    {
        FillGrid_FetchSharePrices();
    }
    else if (dialogResult == DialogResult.No)
    {
        //Do nothing
    }
}

MySQL在执行命令时遇到的致命错误-在加载数据本地文件的文件夹中遍历所有csv文件

检查您的连接字符串是否包含以下内容:

"允许用户变量=True;"

这就解决了我的问题。