zoukankan      html  css  js  c++  java
  • SQLserver导入Excel数据长度限制报错

    先介绍一下写该博客的背景:由于最近在使用腾讯问卷统计健康信息,导出的Excel表中,备注字段填报的数据过长,最长达到346,而在执行Excel导入表操作时,会出现数据被截断错误,导致数据导入失败。

    百度搜索原因:发现大多数给出的原因是在导入数据过程中,生成的临时表会根据Excel的前8行或者前3行确定数据类型,所以后面数据长度过长,导入失败。

    在初始建表时给字段设置长度限制也还是报错。

    第一种方法:直接从任务》导入数据》选择Excel数据源,这种方式长度超过255 数据无法导入成功

    第二种方法:使用SQL语句导入数据

    需要说明:导入的Excel数据字段与目标数据表的字段一一对应。

    ------------------首先进行如下设置----------------------

    exec sp_configure 'show advanced options',1
    reconfigure
    exec sp_configure 'Ad Hoc Distributed Queries',1
    reconfigure
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1

    -------------------------导入数据语句---------------------

    insert into txwj.dbo.yswj1
    SELECT * FROM OpenDataSource
    ( 'Microsoft.ACE.OLEDB.12.0','Data Source="C:UsersAdministratorDesktop111111.xlsx";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet2$]

    经本人验证,Excel文件中存在数据超过255长度的,最终文件可以导入成功,但是超过256的字段数据会被截断,只留下一部分(例如我测试的数据长度是346最后导入之后剩下239)

    目前将Excel数据导入SQLserver无法解决长度超过256的问题,问题待解决。

     

  • 相关阅读:
    C++之STL一般总结
    QT学习第2天
    Linux下Awk详解(转载)
    Mac下开启FTPserver
    Mac下QT错误,Xcode配置解决办法
    C++之STL
    关于Java自动拆箱装箱中的缓存问题
    二分查找
    冒泡排序及优化
    Java中String常用方法总结
  • 原文地址:https://www.cnblogs.com/liuffblog/p/12981027.html
Copyright © 2011-2022 走看看