Error in Load Data infile query in C#
以下代码有问题:-
| 
 1 
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42  | 
  private void btnUpload_Click(object sender, EventArgs e) {         string nm = txtFilename.Text; } private void btnBrowse_Click(object sender, EventArgs e)         if (openfiledailog1.ShowDialog() == DialogResult.OK) txtFilename.Text = openfiledailog1.SafeFileName.ToString();                 }  | 
如果我在查询中给出完整的文件路径,它会正常运行:-
    string qry =”LOAD DATA INFILE ‘D:////HHTFiles//// ABC.txt’ INTO TABLE 
//
‘(条形码,BinLoc);”;
但是当文件路径在字符串变量中传递时会引发错误。
错误:-
错误 [HY000] [MySQL][ODBC 5.1 驱动程序][mysqld-5.1.48-community] 找不到文件 ‘D:HHTFilesABC.txt’ (Errcode: 2)
@Aghilas 它得到了解决:) 虽然我不确定为什么我首先会出错。 Anway,我只是将 ‘////////’ 替换为 ‘/’ 并且运行良好。
| 
 1 
2 3 4 5 6 7  | 
         string nm = txtFilename.Text; 
StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("LOAD DATA INFILE"); stringBuilder.Append(Path.Combine("’D:/HHTFiles/", nm)); stringBuilder.Append("’ INTO TABLE `table1`.`location`FIELDS TERMINATED BY ‘–>’LINES TERMINATED BY ‘/ / ‘(Barcode,BinLoc);");  | 
尝试使用 Path.Combine
| 
 1 
 | 
 Path.Combine("D:////HHTFiles/", nm); 
 | 
并使用 StringBuilder 来构建您的查询
| 
 1 
2 3 4 5 6 7 8 9 10  | 
  StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("LOAD DATA INFILE"); stringBuilder.Append(Path.Combine("D:////HHTFiles/", nm)); stringBuilder.Append(" INTO TABLE table1.location"); stringBuilder.Append(" FIELDS TERMINATED BY ‘–>’"); stringBuilder.Append(" LINES TERMINATED BY ("); stringBuilder.Append(Barcode.BinLoc); stringBuilder.Append(")"); string qry = stringBuilder.ToString();  | 
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/269593.html