ASP.Net SqlBulkCopy некоторые значения текстового типа данных, преобразованные в экспоненциальные значения

ASP.Net SqlBulkCopy некоторые значения текстового типа данных, преобразованные в экспоненциальные значения

bulkCopy.DestinationTableName = "TABLE NAME";
bulkCopy.ColumnMappings.Add("Mobilenumber", "Mobilenumber");
bulkCopy.WriteToServer(dr);

приведенный выше код вставляет мобильные номера столбца excel с текстовым типом данных в столбец базы данных mobilenumber varchar (100)

Некоторые числа вставляются без каких-либо изменений, но некоторые числа вставляются как экспоненциальные значения.

Если тип данных столбца excel, измененный на число с ведущими нулями, равен 0, то без преобразования в экспоненциальный значения вставляются в таблицу базы данных.

Мое требование заключается в том, чтобы не преобразовывать какой-либо тип данных листа (только в лист) вручную, мне нужно загрузить, потому что мне нужно загрузить много файлов. Пожалуйста, может ли кто-нибудь помочь в этом.


person Ganesha    schedule 22.11.2011    source источник


Ответы (1)


Используя приведенные ниже строки подключения и изменив параметр TypeGuessRows=0 в реестре Jet и ACE.

ExelconnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filname + ";Extended Properties=\"Excel 8.0;IMEX=1;ImportMixedTypes=Text;TypeGuessRows=0;\"";


ExelconnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filname + ";Extended Properties='Excel 12.0;IMEX=1;ImportMixedTypes=Text;TypeGuessRows=0';"; 
person Ganesha    schedule 13.12.2011