2016-12-28 10 views
1

Я читаю CSV-файлы и динамически создаю таблицы базы данных на основе заголовков CSV-файлов.Как преобразовать пустую строку в нуль при чтении записей CSV?

Но проблема возникает при чтении данных csv и вбрасывании в соответствующие таблицы. Проблема возникает, когда у меня есть столбец с десятичным типом данных, а поля CSV - пустыми, поэтому он обрабатывается как строка и становится ниже ошибки.

Ошибка:

Не удалось преобразовать значение параметра из строки в десятичное.

Я использую CSV Helper и через класс карты, может быть, я могу добиться этого, но я динамически создавать структуру на основе CSV-файлов, так что я не могу определить какой-либо фиксированный класс.

Вот один ответ, который я нашел, который может быть полезным в случае класса карты: Using CsvHelper can I translate white space to a nullable?

Пример записи: REcord

Проблема возникает, когда sqlbulk копия пытается сбросить эти данные в таблице базы данных сервера SQL ,

ответ

1

Я думаю, что вам может потребоваться сопоставление столбцов. Если вы используете SqlBulkCopy вы можете использовать некоторые из того, что описано в этом посте:

Mapping columns in a DataTable to a SQL table with SqlBulkCopy

+0

Я уже сделал отображение столбцов и, когда я вставить данные в этих пустых записях, то я не получаю какие-либо ошибки –