MySqlBulkUploader将空值从CSV插入MySql c#
我有10行4列的CSV文件。我必须批量上传MySQL表中的CSV记录。我的代码成功地创建了行,但MySql表的每个单元格都显示空值,而不是CSV中的原始值。我也尝试过“加载数据本地填充”命令,但结果相同……我该怎么办? 这是我的c代码MySqlBulkUploader将空值从CSV插入MySql c#,c#,mysql,asp.net-mvc,csv,C#,Mysql,Asp.net Mvc,Csv,我有10行4列的CSV文件。我必须批量上传MySQL表中的CSV记录。我的代码成功地创建了行,但MySql表的每个单元格都显示空值,而不是CSV中的原始值。我也尝试过“加载数据本地填充”命令,但结果相同……我该怎么办? 这是我的c代码 如果服务器是windows,则最有可能是FilePath.Replace(“\”,“/”);将返回一个不存在的文件。为什么要更改FilePath变量中的文件夹分隔符?您是否检查了文件路径值?文件是否存在?是的,首先文件保存在适当的文件夹中,然后我访问该文件。并且文
如果服务器是windows,则最有可能是FilePath.Replace(“\”,“/”);将返回一个不存在的文件。为什么要更改
FilePath
变量中的文件夹分隔符?您是否检查了文件路径
值?文件是否存在?是的,首先文件保存在适当的文件夹中,然后我访问该文件。并且文件也放在物理路径上。如果服务器是windows,则最有可能是FilePath.Replace(“\\”,“/”
将返回一个不存在的文件。该文件正在工作。感谢bradbury9提供了宝贵的解决方案。很高兴提供帮助,给出问题原因的答案,以便您可以将其标记为有用。
public ActionResult Index(HttpPostedFileBase UploadExcel)
{
string FilePath = Server.MapPath("~/Uploads/" + UploadExcel.FileName);
UploadExcel.SaveAs(FilePath);
FilePath = FilePath.Replace("\\", "/");
string connectionString = ConfigurationManager.ConnectionStrings["mySqlConnection"].ConnectionString;
MySqlConnection myConn = new MySqlConnection(connectionString);
myConn.Open();
string TableName = "testTable_TEMP";
var bl = new MySqlBulkLoader(myConn);
bl.TableName = TableName;
FilePath = FilePath.Replace("\\", "/");
bl.FieldTerminator = ",";
bl.LineTerminator = "\n";
bl.FileName = FilePath;
bl.NumberOfLinesToSkip = 1;
var count = bl.Load();
myConn.Close();
return View();
}