编写python爬虫程序可以在电商、旅游等网站上爬取相关评论数据,这些数据可以用于词云制作、感情词分析、提取关键词等,也可以将爬取下来的数据以自己的方式进行展示。评论数据爬取下来后,就要考虑怎样入库,可以在爬虫程序中编写代码直接入库,也可以将爬取到的数据存到Excel表格中,再将Excel表格导入到数据库中。在将Excel表格导入到SQL Server数据库时可能会出现很多错误,这里要解决的错误是:Text was truncated or one or more characters had no match in the target code。这是由于字段大小(size)设置过小,而数据中有超过这个size的记录从而导致了截断(truncate)。

在SSMS中,可以编写SQL语句或使用菜单创建数据表,并为表中的字段设置大小(size)。在将Excel表格导入到数据库时,字段的大小又是怎么确定的呢?在Excel表格中,第一行的各列值作为数据表(指数据库中的table)中的各字段名,第二行以后的每一行的记录将作为数据表中的记录。下面两张图反映了Excel表中数据和数据表中数据的对应关系。

我们在SSMS中打开“景点概览”数据表的设计视图,查看各字段的大小(size)。

Excel表在导入到数据库后,字段的Data Type(数据类型)是根据Excel表中第二行(即第一条记录)的值推出的。如果第二行对应列的那个值是数字,数据库中相应字段的Data Type就是float型,如果值是字符,相应字段的Data Type就是nvarchar(255)。将数字都作为float型,将字符都作为nvarchar(255)型可以避免一些截断问题或高精度向低精度转换等问题的出现。但如果某一个字段的Data Type被设置成了nvarchar(255),而表中又有记录的值的大小超过了255,那么就会出现文章开头所说的truncate(截断)问题。所以,将Excel表格的各条记录中,最长的那条记录放到Excel表格的第二行(即第一条记录的位置),就可以解决上面所说的问题。


一、准备Excel表格数据

  Excel表格是可以导入到SQL Server的,但是WPS表格是不行的。准备好Excel表格后,另存为成合适的格式(Excel 2003或当前的Excel版本号,后面会用到)。这里保存成Excel 2003(.xls)的格式。使用的数据是夫子庙景区的评论数据,首行只有一个字段“评论”。

  

  

二、在SSMS中创建数据库并导入Excel表格

  打开SSMS,创建数据库,右键数据库-Tasks-Import Data,打开SQL Server Import and Export Wizard。

  

  

  选择Data source数据源为Microsoft Excel表格,选择准备好的Excel文件,在Excel version中选择相应的版本号。已自动勾选的First row has column names表示Excel表格中首行作为字段值。

  

  选择导入Destination为:SQL Server Native Client,Server name是当前SQL Server连接的服务名,应该是自动出现的,Authentication选择登录方式(Windows身份验证或SQL Server身份验证),Database选择Excel表导入到的数据库。

  

  选择全部导入或者编写SQL语句部分导入(我也不是很明白..)。这里选择:Copy data from one or more tables or views,全部导入。

  

  Next之后,选择Excel表中的工作簿(这里只有一个夫子庙)。

  

  点击Edit Mappings,可以看到“评论”字段的Data Type被设置成了nvarchar(255)。这里要注意,虽然在这里Size这个值是可以更改的,但是即使改为max后依然导入失败(没有解决)。

  

  继续后续步骤,执行导入。

  

  

  点击完成,导入失败,查看出错日志。

  

三、整理Excel表格数据重新导入

  上面的Excel表格导入失败了,在整理表格之前,要在SSMS中将失败的数据表删掉(虽然失败了,但是数据表的框架已经创建了)。如果对表格进行SELECT查询,结果是空的。

  

  打开Excel表格,找到最长的那条记录,并将其移动到第二行。

  

  

  重新导入到数据库,这次导入成功了。

  

  

  在SSMS中,SELECT查询刚才导入进来的数据。Excel表格导入进来的数据表的名字是Excel表中数据簿的名字后+"$"符号。

  

四、总结

  在将Excel表格导入到SQL Server数据库时如果出现:Text was truncated or one or more characters had no match in the target code 这个错误,将Excel表中最长的那条记录移到第二行即可(即第一条记录所在行)解决导入失败的问题。

  另外,SQL Server数据库的导入导出功能还可以实现数据库中数据导出到Excel表或其他一些数据源之间的相互导入导出,读者可以进行尝试。

解决将Excel表导入到SQL Server数据库时出现Text was truncated or one or more characters had no match in the target code错误的更多相关文章

  1. MVC3学习:将excel文件导入到sql server数据库

    思路: 1.将excel文件导入到服务器中. 2.读取excel文件,转换成dataset. 3.循环将dataset数据插入到数据库中. 本例子使用的表格为一个友情链接表F_Link(LinkId, ...

  2. 如何把EXCEL数据导入到SQL SERVER数据库中 (转)

    转:http://blog.csdn.net/jjp837661103/article/details/13509889 在我们完成一个项目开发之后,通常我们需要把客户的很多数据导入到数据库中,面对大 ...

  3. ASP.NET Excel导入到SQL Server数据库

    本文转自:http://www.cnblogs.com/lhking/archive/2009/06/08/1499002.html 提供把Excel里的数据导入到SQL Server 数据库,前提是 ...

  4. VBS将本地的Excel数据导入到SQL Server中

    VBS将本地的Excel数据导入到SQL Server中 高文龙关注0人评论1170人阅读2017-05-14 12:54:44 VBS将本地的Excel数据导入到SQL Server中 最近有个测试 ...

  5. 图解如何 将Excel里的数据导入到sql server数据库中

    项目中,经常会碰到如何将Excel里的数据导入到sql server中的问题. 下面,图解如何实现导入Excel中的数据到sql server 2008 R2: Excel截图如下: 查询pub数据库 ...

  6. 将文件导入到SQL server数据库表中的字段中

    一.在要执行的sql server数据库a中执行如下脚本,创建存储过程sp_textcopy /* 将二进制文件导入.导出到数据库相应字段列中 */ CREATE PROCEDURE sp_textc ...

  7. Excel数据导入到Sql server

    问题:数据库内直接操作导致 错误 0xc020901c: 数据流任务 1: 源 - yndata1$.输出[Excel 源输出] 上的 源 - yndata1$.输出[Excel 源输出].列[ind ...

  8. SQL server 导入数据 (excel导入到SQL server数据库)

    打开数据库SQL server ,右键数据库,任务,导入数据 点击下一步 选择数据源类型 选择路径,点击下一步 选择将要生成的类型 选择登陆方式 选中,点击下一步 点击编辑映射可以修改将要生成的表,点 ...

  9. MySql的数据导入到Sql Server数据库中

    步骤一:安装MySql驱动 驱动下载链接:https://dev.mysql.com/downloads/connector/odbc/ 下载完成后安装, 一路Next即可 步骤二:创建DSN DSN ...

随机推荐

  1. mysql实现主从备份

    mysql 主从备份的原理: 主服务器在做数据库操作的时候将所有的操作通过日志记录在binlog里面,有专门的文件存放.如localhost-bin.000003,这种,从服务器 和主服务配置好关系后 ...

  2. 全网首发! Odoo 订单分解执行及供应链管理免费开源解决方案

    引言 前一篇介绍了佛山王朝家具的案例背景.佛山王朝家具公司在全国有30多家门店,三个生产工厂.王朝家具有六大痛点问题: 订单迫切需要实现电子化管理及在线签名 总部分单工作量大,供应链效率低 配送和售后 ...

  3. 阿里java编码规范考试总结

    前几天,考了阿里编码规范刚好80险过,总结出以下例题,答案有错,欢迎评论 1.关于方法的返回值是否可以为null,下列说法正确的是(BCD) A.方法的返回值可以为null,如果是集合,必须返回空集合 ...

  4. Spring boot 配置文件详解 (properties 和yml )

    从其他框架来看 我们都有自己的配置文件, hibernate有hbm,mybatis 有properties, 同样, Spring boot 也有全局配置文件. Springboot使用一个全局的配 ...

  5. 秋季学期学习总结&&以及下学期的期待

    秋季总结 第一学期已经结束了,下面来分点归纳下知识点: ·基础编程:利用c语言来进行编程 ·分支结构:利用if-else语句和switch语句编程,以及字符型数据的利用 ·循环结构:利用while.d ...

  6. Android org.json.JSONArray cannot be converted to JSONObject

    今天在做Android项目移植的时候总是出现org.json.JSONArray cannot be converted to JSONObject异常,本着资源共享的理念,将异常处理过程以及引发该异 ...

  7. CYQ.Data 支持 PostgreSQL 数据库

    前言: 很久之前,就有同学问我CYQ.Data能不能支持下PostgreSQL,之后小做了下调查,发现这个数据库用的人少,加上各种因素,就一直没动手. 前两天,不小心看了一下Github上的消息: 看 ...

  8. 聊聊分布式开发 Spring Cloud

    概述 本文章只是简单介绍了微服务开发的一些关键词,如果需要知道具体实现和可以评论留言 我会及时的增加连接写出具体实现(感觉没人看 就没写具体实现). 持续更新中...... SpringCloud和D ...

  9. mysql优化之SQL语句优化

    Mysql优化是一个老生常谈的问题, 优化的方向也优化很多:从架构层;从设计层;从存储层;从SQL语句层; 今天讲解一下从SQL语句层: 这个部分是程序员最容易把控的地方,也是最容易忽视的地方. 一个 ...

  10. EscapeAndUnescapeUtil【java模拟js的escape和unescape函数】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 在这里做一个记录,基本代码同参考资料<java模拟js的escape和unescape函数>一样. 效果图     代码 ...