1
私はCSVファイルを10行4列から構成しています.CSIレコードをMySQLテーブルに一括アップロードする必要があります。私のコードは行を正常に作成していますが、MySqlテーブルの各セルは、CSVのように元の値の代わりにNULLを表示しています。また、 "Load data local Infile"コマンドを試していましたが、サーバはFilePath.Replace( "\"、 "/")というウィンドウが最も可能性がある場合 は、ここに私のC#のコードMySqlBulkUploaderは、CSVからMySqlにNull値を挿入します。C#
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();
}
なぜFilePath'変数のフォルダ区切り文字を変更していますか?あなたは 'FilePath'の値をチェックしましたか?ファイルは存在しますか? – bradbury9
はい、最初にファイルが適切なフォルダに保存され、ファイルにアクセスしています。ファイルも物理パスに配置されます。 –
サーバがWindowsの場合、 'FilePath.Replace(" \\ "、"/");'は、存在しないファイルを返します。 – bradbury9