Я получил сообщение об ошибке ниже, когда пытался загрузить файл csv в таблицу SQL Server, используя C# (файл csv не имеет заголовка). Сообщение об ошибке: «Столбец с именем 'уже принадлежит этому DataTable'Загрузить CSV-файл в таблицу sql-сервера с помощью C# -
Я попытался найти некоторые решения где-то в Интернете, но я действительно застрял в нем. Мой код:
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-файла. Возможно, первые несколько строк. –