• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Excel导入数据库时出现的文本截断问题解决方案
    问题
    在把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

    导入结果
    您可能感兴趣的文章:
    • asp实现excel中的数据导入数据库
    • PHP将Excel导入数据库及数据库数据导出至Excel的方法
    • Drupal读取Excel并导入数据库实例
    • 利用phpexcel把excel导入数据库和数据库导出excel实现
    • PHP 如何利用phpexcel导入数据库
    • ASP.NET下将Excel表格中的数据规则的导入数据库思路分析及实现
    • C++ 中实现把EXCEL的数据导入数据库(ACCESS、MSSQL等)实例代码
    上一篇:SQL Server储过程加密和解密原理深入分析
    下一篇:sql2008安装后服务器改名造成名称不一致解决方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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