Excel导入SQLserver数据长度过长导入失败
先介绍一下写该博客的背景:由于最近在使用腾讯问卷统计健康信息,导出的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:\Users\Administrator\Desktop\111111.xlsx";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet2$]
经本人验证,Excel文件中存在数据超过255长度的,最终文件可以导入成功,但是超过256的字段数据会被截断,只留下一部分(例如我测试的数据长度是346最后导入之后剩下239)
------------------------修改注册表-------------------------
Jet引擎:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
ACE引擎:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel
64位系统:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel
第一个jet没找到,所以只修改了下面两个注册表,依然没有,把TypeGuessRows的值改为0,但仍然失败。
以上
没有解决方案
Excel导入SQLserver数据长度过长导入失败相关推荐
- java txt数据导入excel,java easyreport 导入excel、 txt 数据txt按字节导入(七)
有时候导入txt文件不一定是采用分隔符方式导入,而是采用按字节.字符长度导入,比如银联对账文件. 导入txt数据 姓名 年龄科目分数 陈寻 12语文67 王老五12语文80 柯景腾13语文78 沈佳 ...
- mysql命令导入导出数据_mysql命令行导入和导出数据
MySQL中导出CSV格式数据的SQL语句样本如下: select * from test_info into outfile '/tmp/test.csv' fields terminated by ...
- MySQL命令导入表数据_Mysql命令行导入sql数据
mysqldump 是在 操作系统命令行下运行的,不是在 MySQL 命令行下运行的. 登陆数据库: 登陆本地mysql : mysql -h localhost -u root -p123456 ...
- oracle导入初始数据死机,Sqoop导入Oracle数据至hive卡死在hive.HiveImport: Connecting to jdbc:hive2不执行...
环境信息: HDP-3.1.4 已经下载好odjbc8.jar驱动程序放置在/usr/hdp/current/sqoop-client/lib/目录 Sqoop读取Oracle数据库数据导入Hive时 ...
- excel 导入 sqlserver 字符串被截取为255长度解决方案
原文出处: http://blog.csdn.net/xiaoma0529/article/details/21336535 excel表格导入sqlserver数据表中 内容被截取为255长度的字符 ...
- matlab数据变成一列数据,matlab读取excel表格列数据-matlab导入excel后,怎么把数据提取成一列?...
怎么用matlab读取excel表格中的一列十六进制数据? x=xlsread('oillack.xls','sheet1','a1:a73') excel文件名是oillack.xls,sheet1 ...
- SQL Server 数据库之导入导出数据
导入导出数据 1. 概述 2. 导入 SQL Server 数据表 3. 导入其他数据源的数据 4. 导出 SQL Server 数据表 1. 概述 导入数据也是数据库操作中使用频繁的功能,SQL S ...
- 导入json数据到Elasticsearch(bulk方法)
一.前言 在前面几章,基本把本地的环境给配置好了,那么配置好了之后,要做的第一件事当然就是导入数据进去.我这边准备的是一份json数据,这里通过ES的bulk API给导入进去. 二.导入数据 1.批 ...
- jmeter导入DB数据再再优化
前言:分享和规定命名规范后,各位测试人员一致认为这样jmeter的jmx文件限制太死,主要体现六方面: 第一:规定了一个jmx文件只能录入一个接口,这样会导致jmx文件很多 第二:导入DB的jmx文件 ...
- 通过PO接口表导入PO数据
我们通过PO接口表导入PO数据程序如下,可以导入成功, 但是用户要求,通过接口表导入后,PO直接提交到指定的审批路径,即导入后PO的状态为in process. 我有两个问题: 1. 提交PO导入 ...
最新文章
- 国赛来咯,全国大学生智能汽车竞赛百度赛道正式开启
- ARP命令详解--网络命令详解二
- 时间序列分类算法简介及其在能耗数据分类上的应用
- 十六、深入Java的数组(下篇)
- python 操作ps_使用Python分离出ps的输出
- Boost::Regex 使用方法 (英文)
- 必然的宿命,绚然的《暗花》
- (转)创建X509证书,并获取证书密钥的一点研究
- 原创 | 我说我了解集合类,面试官竟然问我为啥HashMap的负载因子不设置成1!?...
- 【CVPR2019】Workshops 研讨会列表及链接
- Direct Training for Spiking Neural Networks: Faster, Larger, Better
- PHP GZ压缩与解压
- uva 1329(加权并查集)
- word插入目录右边对不齐
- ADS笔记 | 史密斯圆进行阻抗匹配,并用ADS仿真结果
- Javaweb 九大内置对象
- 甘肃SEO优化:关键词选择 是否“咨询”过关键词规划师以及seo优化技术大牛是怎么练成的
- 【搜狗VR输入法无法显示键盘】
- DIV+CSS布局-PxCook工具的简单使用
- 银河帝国----基地前奏