Что делать, чтобы избежать округления десятичной дроби в SqlBulkCopy с C# на SQL Server?C#

Место общения программистов C#
Ответить
Anonymous
 Что делать, чтобы избежать округления десятичной дроби в SqlBulkCopy с C# на SQL Server?

Сообщение Anonymous »

Я импортирую данные файла .csv в таблицу SQL Server с помощью SqlBulkCopy. Мой файл .csv может иметь любой формат, поскольку я не могу определить столбцы в нем, а типы данных в нем, поскольку тот же столбец может иметь десятичные и текстовые значения, поэтому мне нужно передать значение как таковое в файл . csv файл. Но по какой-то причине в некоторых десятичных точках файлов .csv происходит округление.

Код: Выделить всё

SqlConnection objConn = new SqlConnection(ConfigurationManager.ConnectionStrings["Live"].ConnectionString);
objConn.Open();

SqlBulkCopy objbulkinsert = new SqlBulkCopy(objConn);
objbulkinsert.DestinationTableName = "Mappingtable";

foreach (DataColumn column in csvData.Columns)
{
objbulkinsert.ColumnMappings.Add(column.ColumnName.ToString(), column.ColumnName.ToString());
}

objbulkinsert.BulkCopyTimeout = 0;
objbulkinsert.WriteToServer(csvData);
objConn.Close();

Это работает и для других файлов. Я не знаю, является ли файл .csv проблемой, но, открыв его в блокноте, он показывает десятичную точку. Я прикреплю изображение файла .csv и полученный вывод SQL.
csvfile
Вывод SQL
Ожидаемый результат: например, данные файла .CSV в таблице SQL Server.

Подробнее здесь: https://stackoverflow.com/questions/792 ... o-sql-serv
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»