Excel导入数据库时出现的文本截断问题解决方案

2016-02-19 10:19 272 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是Excel导入数据库时出现的文本截断问题解决方案,一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】

问题
在把Excel导入到数据库中时,发生文本截断问题:即导入的数据每行只有一部分,原始的Excel数据为:
   
忽略错误
导入SQLServer2008过程中,如果源数据和目标数据类型不匹配会导入失败,所以导入数据时会忽略错误,这次导入题库也是,结果出现了这样的问题:
 
仔细观察你会发现,题目不完整,最长为25个汉字,很明显这是varchar(50)数据类型,但是源数据和目的数据明明都为文本类型。
不忽略错误
如果不忽略错误,导入数据最后一步会产生这样的问题:
代码如下:

-正在执行(错误)
消息
错误0xc02020c5:数据流任务1:在将列“questionContent”(33)转换为列“questionContent”(119)时数据转换失败。转换操作返回状态值4和状态文本“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。
(SQLServer导入和导出向导)
错误0xc020902a:数据流任务1:“输出列“questionContent”(119)”由于发生截断而失败,而且针对“输出列“questionContent”(119)”的截断行处理设置指定截断时出错。在指定组件的指定对象上出现截断错误。
(SQLServer导入和导出向导)
错误0xc0047022:数据流任务1:SSIS错误代码DTS_E_PROCESSINPUTFAILED。处理输入“数据转换输入”(92)时,组件“数据转换0-0”(91)的ProcessInput方法失败,错误代码为0xC020902A。标识的这个组件从ProcessInput方法返回了一个错误。虽然该错误是此组件特有的,但却是致命的,将导致数据流任务停止运行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
(SQLServer导入和导出向导)

解决方法
SQL语句
可以确定这个问题不是由数据类型不匹配引起,如何解决?既然通过界面方法不能完整导入,可以采用SQL语句的方式再试试:
代码如下:

SELECT*INTO[MaKeSiExam].[dbo].[t_makesi_duoxuanti1]FROMOPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'DataSource=D:/考试系统/题库/2012年下半年马克思考试/马克思_多选题.xls;
ExtendedProperties=Excel8.0')...[Sheet1$]

前提
使用SQL语句的方法可能会产生两个错误:
代码如下:

SQLServer阻止了对组件'AdHocDistributedQueries'的STATEMENT'OpenRowset/OpenDatasource'的访问,因为此组件已作为此服务器安全配置的一部分而被关闭
消息7399,级别16,状态1,第1行
链接服务器"(null)"的OLEDB访问接口"Microsoft.Jet.OLEDB.4.0"报错。提供程序未给出有关错误的任何信息。
消息7303,级别16,状态1,第1行
无法初始化链接服务器"(null)"的OLEDB访问接口"Microsoft.Jet.OLEDB.4.0"的数据源对象。

解决方法
代码如下:

--启用AdHocDistributedQueries
execsp_configure'showadvancedoptions',1
reconfigure
execsp_configure'AdHocDistributedQueries',1
reconfigure

第二个问题,是因为Excel文件和SQLServer没在同一台机器,把Excel放到数据库所在机器上执行上述SQL语句即可,注意以上导入数据库的语句需要自建表,表字段数据类型为Excel中的数据类型。
导入完毕,可再关闭AdHocDistributedQueries
代码如下:

--关闭AdHocDistributedQueries
execsp_configure'AdHocDistributedQueries',0
reconfigure
execsp_configure'showadvancedoptions',0
reconfigure

导入结果

来源:http://www.tulaoshi.com/n/20160219/1594214.html

延伸阅读
随着经济全球化的发展,产生了众多的跨国公司,而Java语言的出现以及网络通讯技术的飞速发展,使企业仅购买一套基于web的企业级应用软件(比如说:OA系统,ERP系统、CRM等),通过网络就能满足整个集团共同使用该软件成为可能。既减少了软件费用,又缩短了信息延迟,提高了企业运作效率。但因为应用系统是面向多个国家,多种语言的,所以在设计...
服务器环境 Liunx AS4 + PHP5 + Mysql5 + Apache 2 实用TOP 命令查询系统性能的时候发现CPU经常到达100% 开始以为是DDOS攻击……加装了防火墙(没起作用) 又开始从liunx系统查找是不是系统问题,(也没起作用) 偶尔从网络上发现一篇文章,有人也类似遇到了这样的问题,但并没指出具体解决方案, 不过提醒了我,...
标签: 女人 女性健康
女人最尴尬的9私处问题解决方案 现在的人们都追求健康,而大女人在追求健康的时候却忽略女人私处的健康保健。 女性最尴尬九个私处问题 1、阴道清洗有没有必要? 答:每天清洗外阴是有必要的,尤其是在月经期,用温开水适当清洗外阴,不让外界的病原体进入阴道,如非必要不要冲洗阴道,不需要用妇科洗液,维护女 性...
标签: Web开发
=================================== 开发java应用出现乱码是很常见的,毕竟现在unicode的使用还不是很广泛,在使用gb2312(包含了gbk简体,big5繁体)的系统中要正确实现 中文的display和数据库的存储是最基本的要求。 ============================== 1,首先developer要明确自己为什么会遇到乱码,遇到什么样的乱码...
标签: 孕期
职场孕妈咪常见问题解决方案 现在的女性都比较独立,有自己的事业,很多女性在怀孕以后,出于这样那样的原因,依然无法远离工作岗位,不愿意在家里安心地养胎。这个时候在工作过程当中要注意什么,才能够更好地保护自己和保护肚子里的宝宝呢?我们一起来关注一下吧! 如果已经由医院方面确认说怀孕的话,应该将这件...

经验教程

578

收藏

69
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部