【问题标题】:ASP.Net SqlBulkCopy some text data type values converting to exponential valuesASP.Net SqlBulkCopy 一些文本数据类型值转换为指数值
【发布时间】:2012-01-03 21:30:08
【问题描述】:

ASP.Net SqlBulkCopy 一些文本数据类型值转换为指数值

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

以上代码将文本数据类型的excel列mobilenumbers插入数据库列mobilenumber varchar(100)

有些数字没有任何变化地插入,但有些数字作为指数值插入。

如果 excel 列的数据类型更改为 Number 且前导零为 0,则不转换为指数,值将插入到数据库表中。

我的要求是不手动转换任何工作表数据类型(仅限工作表),我必须上传,因为我必须上传许多文件。 拜托,谁能帮忙解决这个问题。

【问题讨论】:

    标签: asp.net sqlbulkcopy


    【解决方案1】:

    通过使用以下连接字符串并更改 Jet 和 ACE 注册表中 TypeGuessRows=0 的设置。

    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';"; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      • 2015-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多