excel导入mysql 截断_解决Excel导入数据库时出现的文本截断问题

问题

在把Excel导入到数据库中时,发生文本截断问题:即导入的数据每行只有一部分,原始的Excel数据为:

6a5de209c69f75bccf528e920cad1e69.png

忽略错误

导入SQLServer2008过程中,如果源数据和目标数据类型不匹配会导入失败,所以导入数据时会忽略错误,这次导入题库也是,结果出现了这样的问题:

baa2f64b5b60051fc5d16f41d532fa57.png

仔细观察你会发现,题目不完整,最长为25个汉字,很明显这是varchar(50)数据类型,但是源数据和目的数据明明都为文本类型。

不忽略错误

如果不忽略错误,导入数据最后一步会产生这样的问题:

- 正在执行 (错误)

消息

错误 0xc02020c5: 数据流任务 1: 在将列“questionContent”(33)转换为列“questionContent”(119)时数据转换失败。转换操作返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。

(SQL Server 导入和导出向导)

错误 0xc020902a: 数据流任务 1: “输出列“questionContent”(119)”由于发生截断而失败,而且针对“输出列“questionContent”(119)”的截断行处理设置指定截断时出错。在指定组件的指定对象上出现截断错误。

(SQL Server 导入和导出向导)

错误 0xc0047022: 数据流任务 1: SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“数据转换输入”(92)时,组件“数据转换 0 - 0”(91)的 ProcessInput 方法失败,错误代码为 0xC020902A。标识的这个组件从 ProcessInput 方法返回了一个错误。虽然该错误是此组件特有的,但却是致命的,将导致数据流任务停止运行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。

(SQL Server 导入和导出向导)

解决方法

SQL语句

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

SELECT * INTO [MaKeSiExam].[dbo].[t_makesi_duoxuanti1] FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',

'Data Source=D:/考试系统/题库/2012年下半年马克思考试/马克思_多选题.xls;

Extended Properties=Excel 8.0')...[Sheet1$]

前提

使用SQL语句的方法可能会产生两个错误:

SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭

消息 7399,级别 16,状态 1,第 1 行

链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 报错。提供程序未给出有关错误的任何信息。

消息 7303,级别 16,状态 1,第 1 行

无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象。

解决方法

--启用Ad Hoc Distributed Queries

exec sp_configure 'show advanced options',1

reconfigure

exec sp_configure 'Ad Hoc Distributed Queries',1

reconfigure

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

导入完毕,可再关闭Ad Hoc Distributed Queries

--关闭Ad Hoc Distributed Queries

exec sp_configure 'Ad Hoc Distributed Queries',0

reconfigure

exec sp_configure 'show advanced options',0

reconfigure

导入结果

b902b3ac886417f3c99917978c211ffa.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

map multimapc++_黑马C++视频笔记《STL之map/multimap》

/* map/multimap容器* map/multimap属于关联式容器,底层结构是用二叉树实现。* - map中所有元素都是pair;* - pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值);* - 所有元素都会根据元素的键值自动…

mysql generator备注_MyBatis Generator 自定义生成注释

注释生成器为了生成db里面的注释,必须自定义注释生成器EmptyCommentGenerator:import org.mybatis.generator.api.CommentGenerator;import org.mybatis.generator.api.IntrospectedColumn;import org.mybatis.generator.api.IntrospectedTable;import o…

mysql表添加完整性约束_SQL语句——完整性约束

1.MySQL支持的完整性约束a.主键约束特点:唯一且非空主键可以由一个字段组成,也可以由多个字段组成如果主键由一个字段组成,既可以添加到列级,也可以添加到表级。如果主键由多个字段组成,则只能添加到表级。(1)在字段的…

通信线路工程验收规范 gb51171-2016_老杨一建通信学堂通信线路工程施工技术

引言:本章节以通信线路工程施工建设为主题,涵盖通信光(电)缆施工通用技术、架空、直埋、管道还有综合布线工程施工技术,深入浅出介绍通信线路工程建设中各环节的工作内容和涉及的相关规范。知识归纳卡名 称:1L412050 章 节…

python制作测试报告_使用 python 生成 extent report 测试报告

背景一直使用 HTMLTestRunner 生成 app 自动化的测试报告内容,虽然加了截图的展示,还是感觉报告不够好看。allure 报告内容可以,但是要以 pytest 管理测试 case,且 pytest 会执行所有以 test_命名的 case,测试结果只有…

r语言electricity数据集_R语言实战学习

《R语言实战》中文电子版提取码:lx35已经学习打卡R语言22天了,可以说是初窥真容——基本了解R的数据和函数;作为程序语言,就是要多练习,多领悟,在实战中发现问题并解决问题。所以,就以《R语言实…

mysql查看系统可用字符集_MySQL查看所有可用的字符集

MySQL查看所有可用的字符集Enter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 6190Server version: 5.6.24-log MySQL Community Server (GPL)Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserv…

mysql环形复制的弊端_Docker+阿里云centos7+MySQL主从环形复制踩坑记

老规矩,先列坑slave链接master的时候,一直提示2003错误修改了iptables后,docker 下的容器无法正常使用配置正确后,创建新的db部分机器没有同步Got fatal error 1236 from master when reading data from binary log: unknown erro…

mysql general clomun_关于MySQL索引index杂谈

MySQL建索引命令create index index_name on tablename(clomun_name.....);比如建了CREATE INDEX O_N_P_D ON t_db_netspeed(o,n,p,d)建好索引之后,使用SELECT 命令进行查询SELECT COUNT(*) FROM t_db_netspeed WHERE O1这句话也会用到前面建立的索引 O_N_P_D&…

pythoncount函数怎么用_python中count函数简单的实例讲解

python中count函数的用法count()函数描述:统计字符串里某个字符出现的次数,可以选择字符串索引的起始位置和结束位置。语法:str.count("char", start,end) 或 str.count("char")返回值:整型参数说明&#xff…

twisted mysql_在Twisted下用MySQLadbapi获取自增id

D jango的ORM有一个很便捷的功能,其实也应该说是一个很基本的功能吧。就是在对一个model调用 save() 插入到数据库后,会将创建的D jango的ORM有一个很便捷的功能,其实也应该说是一个很基本的功能吧。就是在对一个model调用 save() 插入到数据…

java客户端_Java常用的Http client客户端

Http Client应用场景:Http协议是最重要的网络协议之一,目前移动端的开发、javaweb前后端分离架构,使越来越多的java应用使用http协议访问资源。Http client 大多数场景使用在多个服务之间相互调用rest api,特别是现在微服务架构的…

java 新浪邮箱_使用javamail发送邮件,sina的邮箱作为发信人不行

我参照网上,写了一个简单的使用javamail发送邮件的程序,使用一般的邮件服务器作为发件人,程序都很正常;但使用smtp.sina.com.cn作为邮件服务器地址的发件人时,程序却验证失败!这是什么原因?程序…

java des3加密_JAVA加密算法(3)- 对称加密算法(DES、3DES、AES)

对称加密算法概念加密密钥和解密密钥相同,大部分算法加密揭秘过程互逆。特点:算法公开、(相比非对称加密)计算量小、加密速度快、效率高。弱点:双方都使用同样的密钥,安全性得不到保证。常用对称加密算法DES(Data Encryption Stan…

android jni 调用java对象_Android NDK开发之Jni调用Java对象

本地代码中使用Java对象通过使用合适的JNI函数,你可以创建Java对象,get、set 静态(static)和 实例(instance)的域,调用静态(static)和实例(instance)函数。JNI通过ID识别域和方法,一个域或方法的ID是任何处理域和方法的函数的必须…

docker 容器端口访问不到_docker容器无法访问宿主机端口的解决

最近在工作时遇到一个问题,docker容器无法访问宿主机的redis,telent6379端口不通。 经排查发现,该服务器启用了防火墙,防火墙把6379的端口的访问授权给docker0网卡访问即可。 操作如下: firewall-cmd --permanent --zone=trusted --change-interface=docker0 firewall-cmd…

java public权限_Java public 访问权限

Java public 访问权限接下来,我们准备为大家介绍“public 访问权限”。在前面的学习中,我们已经接触过public这个关键字,就是在入口方法 main的前面,现在我们可以来回顾一下对应的代码:public class MyTest{publicstat…

java timer线程结束_Java线程Timer定时器用法详细总结

定时/计划功能主要使用的就是Timer对象,它在内部还是使用多线程的方式进行处理,所以它和线程技术还是有非常大的关联。Timer类主要作用就是设置计划任务,但封装任务的类却是TimerTask类。TimerTask类是一个抽象类。执行任务的时间晚于当前时间…

java在创建对象时必须_Java中5种创建对象的方式

以下是一些在Java中创建对象的方法:1、 使用new关键字使用new关键字是创建对象的最基本方法。这是在java中创建对象的最常见方法。几乎99%的对象都是这样创建的。通过使用这个方法,我们可以调用我们想要调用的任何构造函数(无参数或参数化构造函数)。//J…

java类的定义的实例_Java中类的定义和初始化示例详解

类的定义类的定义格式//创建类class classname{field ;//成员属性/字段method;//方法}class为定义类的关键字,classname为类的名字,{ }为类的主体;例如:class person{public string name ; //成员属性publi…