«Данное ColumnMapping не совпадает ни с одним столбцом в источнике или месте назначения» при загрузке CSV на сервер SQL - PullRequest
0 голосов
/ 02 сентября 2018

Я пытаюсь загрузить CSV на сервер SQL, преобразовав CSV в Datatable, а затем этот Datatable для вставки в сервер данных SQL. CSV правильно читается в Datatable, но при вставке данных в SQL эта ошибка возникает

"Данное сопоставление столбцов не совпадает ни с одним столбцом в источник или пункт назначения "

Вот мой код:

static void InsertDataIntoSQLServerUsingSQLBulkCopy(DataTable csvFileData)
    {
        System.IO.File.Create("C:\\Users\\Rana\\Desktop\\inside.txt");
        using (SqlConnection dbConnection = new SqlConnection("Data Source=DESKTOP-N7OIK1O\\MSSQLSERVER02;Initial Catalog=nokia_Alarm;Integrated Security=SSPI;"))
        {
            System.IO.File.Create("C:\\Users\\Rana\\Desktop\\inside1.txt");
            dbConnection.Open();
            using (SqlBulkCopy s = new SqlBulkCopy(dbConnection))
            {
                System.IO.File.Create("C:\\Users\\Rana\\Desktop\\inside2.txt");
                s.DestinationTableName = "csv_Table";

                foreach (var column in csvFileData.Columns)
                    s.ColumnMappings.Add(column.ToString(), column.ToString());
                s.WriteToServer(csvFileData);
                System.IO.File.Create("C:\\Users\\Rana\\Desktop\\inside4.txt");
            }
        }
    }

Я не знаю, где проблема?

это в соединении с БД?

(SqlConnection dbConnection = new SqlConnection ("Данные Источник = DESKTOP-N7OIK1O \ MSSQLSERVER02; Initial Каталог = nokia_Alarm; Интегрированная безопасность = SSPI)

1 Ответ

0 голосов
/ 02 сентября 2018

Должно быть:

foreach (DataColumn column in csvFileData.Columns)
                    s.ColumnMappings.Add(column.ColumnName, column.ColumnName);

DataTables и большинство типов ADO.NET предшествуют общим коллекциям, поэтому при foreach -изложении его коллекций (например, DataTable.Columns) необходимо предоставить целевой тип в foreach для доступа к его свойствам и методам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...