2
當我嘗試使用C#將csv文件上載到SQL Server表時,我收到了以下錯誤消息(csv文件沒有標題)。 錯誤消息:「名爲''的列已屬於此DataTable」使用C#將CSV文件上傳到sql server表 -
我試圖在網絡上的某個地方找到一些解決方案,但我真的被它困住了。 我的代碼:
SqlConnection con = new SqlConnection(@"server=.;Initial Catalog=myDtabase;Integrated Security=SSPI;");
string filepath = @"c:\\my_CSV_file.csv";
StreamReader sr = new StreamReader(filepath);
string line = sr.ReadLine();
string[] value = line.Split(',');
DataTable dt = new DataTable();
DataRow row;
foreach (string dc in value)
{
dt.Columns.Add(new DataColumn(dc));
}
while (!sr.EndOfStream)
{
value = sr.ReadLine().Split(',');
if (value.Length == dt.Columns.Count)
{
row = dt.NewRow();
row.ItemArray = value;
dt.Rows.Add(row);
}
}
SqlBulkCopy bc = new SqlBulkCopy(con.ConnectionString, SqlBulkCopyOptions.TableLock);
bc.DestinationTableName = "my_SQLServer_Table";
bc.BatchSize = dt.Rows.Count;
con.Open();
bc.WriteToServer(dt);
bc.Close();
con.Close();
是你的領域包括在雙引號'」「' – MethodMan
你有沒有通過您的代碼使用調試器,看看您是否添加相同的列不止一次踩? –
向我們展示CSV文件中的一些示例數據。前幾行也許。 –