报错详情(关键信息就是:文本被截断)

错误 0xc020901c: 数据流任务 1: 输出“Excel 源输出”(9) 上的 输出列“xxxxx”(78) 出错。返回的列状态是:“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。

注:其中,‘xxxxx’代表的是列名,数字‘78’代表的是行序。

报错原因

文本被截断,就是文本太长了,无法保存到数据表中。

那为什么会超过限制呢?

原来,SQLServer 在导入数据时,会根据首行数据,自动识别出数据类型和字段长度,而文本则是默认长度 255。所以,当后续某个文本长度超过 255 时就会报错,导致全部数据导入失败,但是临时表已经创建成功。

如下是自动创建的表的个别字段:

示例测试

测试表格数据示例:(长文本为 256 位字母)

普通文本	长文本	数字	大数字	大数字带小数位	大数字带小数位文本	日期
测试内容 dsfadfasdfasdfasdfadfasdfasdfasdfadffadfasdfasdafasdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1 999999999 10000.99 100000000.99 2024/2/2

自动创建表的结构:

当单元格中的文本长度大于 255 时,则会自动将 varchar 类型的长度生成为 MAX,此时就不会再出现截断报错。

解决方案

(首选)直接在表中首行添加一行,将可能存在超过 255 的列填入大于 255 长度的字符,然后在导入成功后,手动删除即可。

数据量不大的话,也可以再提示导入失败后,通过 sql 语句 alter table tablename01 alter column [columnname] varchar(2000) 来手动修改表结构,然后把数据粘贴进表中。

SQLServer 导入 Excel 表数据报错“文本被截断。。。”的更多相关文章

  1. SQL SERVER 导入EXCEL表 报错 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序

    1 已经正确安装了 accessdatabaseengine 2 使用 Microsoft SQL Server Management Studio 里面的数据库 右键-->导入数据 解决方案 ...

  2. oracle导入Excel表文本数据

    首先导Excel表数据要先建和Excel表字段对应的表,然后将Excel表另存为Txt文本, 然后在Plsql客户端点击工具->文本导入器 然后这里要选择用户及其表,点击导入数据就可以

  3. sqlserver 导入excel

    安装完office2013和sqlserver2017时,不知道是盗版问题还是啥 原因, 在sqlserver导入excel时,报错. 在把Excel导入SQL server时出现“未在本地计算机上注 ...

  4. winfrom 导入Excel表到access数据库(来自小抽奖系统)

    网上有很多这种方法,本人只是针对自己的系统来实现的 //导入excel表 private void ImportTSMenu_Click(object sender, EventArgs e) { O ...

  5. 向ACCESS数据库中的表导入EXCEL表,在 System.Data.OleDb.OleDbException 中第一次偶然出现的“System.Data.dll”类型的异常

    向ACCESS数据库中的表导入EXCEL表,EXCEL表Sheet1中与ACCESS数据库表中的关键字对应的列的值,不能与数据库中表的主键项值重复,不然就会出现 在 System.Data.OleDb ...

  6. C# winform 编程 向ACCESS数据库导入EXCEL表使用心得

    public string MyConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ErLake.mdb&quo ...

  7. SQL Server导入Excel文件报错

    目录 文本被截断,或者一个或多个字符在目标代码页中没有匹配项 原因 解决方法 该值违反了该列的完整性约束 空行 没有设置为允许为NULL 我以前也导入过数据,也没报错,今天再次导入数据的时候,发现了两 ...

  8. 向MySql数据库导入excel表数据

    最近要开发一个小的答题系统,如果题目人工录入那确实很麻烦.所以想到是不是可以从用一些现有数据格式的文件导入数据.在网上查了一下,看到有关于将excel的数据导入到mysql的方法.所以将题库数据整理成 ...

  9. SQL Server 2005导入Excel表问题

    EXCEL导入到SQL Server经常出现“文本被截断,或者一个或多个字符在目标代码页中没有匹配项” 原因: SQL Server的导入导出为了确定数据表的字段类型,取excel文件的前8行来判别. ...

  10. sqlserver导入excel的电话号码(身份证)变为科学计数解决方式

    如果excel中有一列存的是手机号码或者身份证号码,那么导入到sql中时,会把手机或者身份证当作数字格式对待,因而会以科学记数法的形式存在sqlserver表中,解决方式,先将excel文件另存为文本 ...

随机推荐

  1. MySQL存储过程、索引、分表对比

    MySQL存储过程.索引和分表是用于提高查询效率的三种不同方法,它们各自对查询效率有不同的影响和应用场景.以下是它们的对比: MySQL存储过程: 影响查询效率: 存储过程通常不直接影响查询效率,因为 ...

  2. el-tree只展示前三个节点数据

    后端也返回了第四等级,但是不想让他展示,可以这样解决只展示前三等级 // 获取room树 getRoomTreeList() { getRoomTree().then((res) => { // ...

  3. 探索C语言中的Shellcode从提取到执行

    ShellCode是一种独立于应用程序的机器代码,通常用于实现特定任务,如执行远程命令.注入恶意软件或利用系统漏洞.在网络安全领域,研究Shellcode是理解恶意软件和提高系统安全性的关键一环.本文 ...

  4. Docker从认识到实践再到底层原理(三)|Docker在Centos7环境下的安装和配置

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总 然后就是博主最近最花时间的一 ...

  5. 使用私有gitlab搭建gitbook持续集成

    目录 环境搭建 1. 安装 Node.js 2. 安装 gitbook 3. 安装 Gitlab Runner 4. 注册Runner gitbook 配置 1. 目录结构 2. 命令行 3. 插件 ...

  6. 零基础入门学习Java课堂笔记 ——day02

    流程控制 1.Scanner对象 来源:java.util.Scanner 我们可以通过Scanner类来获取用户的输入输出 用户交互Scanner 通过new关键词创建Scanner对象 Scann ...

  7. 12c/19c新特性官方文档快速参考

    工作中会经常遇到被询问Oracle某一个新特性,是在哪个版本开始引入,通常都去查官方文档New Features部分章节,下面列出从12.1.0.1 到 19c的对应在线官方文档的链接,方便快速检索: ...

  8. 17.5 稀疏调拨的内存映射文件--《Windows核心编程》

    原文链接:https://www.likecs.com/show-306421749.html,原文中代码是C++MFC程序,更详细.本文是C语言测试代码. (1)稀疏文件(Sparse File)定 ...

  9. 安装DNS服务

    实验介绍: DNS的作用 DNS中文名为域名系统 它能实现域名与IP地址的互相转换 域名的命名 www.cnblogs.com 其中.com是网站是顶级域名,.cnblogs是博客园是二级域名,www ...

  10. Power BI 3 DAY

    目录 M函数基本表达式 注释 基本表达式 M函数基本变量类型 自定义函数 调用函数列表 if表达式 数据化结构 列表结构(List) 记录结构(Record)[ ] 表格结构(Table) M函数基本 ...