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 table1.locationFIELDS TERMINATED BY ‘–>’LINES TERMINATED BY ‘\\
\\
‘(条形码,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(); |
- 感谢您的快速回复。我尝试了您的代码,但仍然收到较早的错误。错误 [HY000] [MySQL][ODBC 5.1 驱动程序][mysqld-5.1.48-community] 找不到文件 \\’D:HHTFilesABC.txt\\’ (Errcode: 2)
- 很高兴回复您,验证路径上是否存在 D:HHTFiles/ABC.txt
-
是的,指定路径中存在 ABC.txt 文件。我什至在上面的代码上应用了断点。它显示 qry=”LOAD DATA INFILE \\’D:\\\\\\\\\\\\\\\\HHTFiles\\\\\\\\\\ \\\\\\ABC.txt\\’ INTO TABLE table1.location字段由 \\’–>\\’行终止于 \\’\\\\
\\\\
\\'(Barcode,BinLoc);”。如果我在 Mysql 编辑器上运行此查询,它运行良好并且 1 行受到影响。但是相同的查询在 C# 中不起作用。我很困惑… - 您好 RookieCoder 尝试使用新查询我更新它们,测试并告诉我响应
来源:https://www.codenong.com/11649185/
