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

错误 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. Docker获取Let`s Encrypt SSL 证书

    文中的操作都是在CentOS Stream release 9下执行的,使用的是root用户. 1. 安装docker # 卸载原有的docker yum remove docker docker-c ...

  2. React中引入外部js文件

    假设需要引入本地的一个jquery库: <script src="http://127.0.0.1:8080/plugins/jquery.min.js" type=&quo ...

  3. 知识图谱项目实战(一):瑞金医院MMC人工智能辅助构建知识图谱--初赛实体识别【1】

    1.技术背景&赛题介绍: A Labeled Chinese Dataset for Diabetes中文糖尿病标注数据集详情请见. 数据集链接:瑞金医院MMC人工智能辅助构建知识数据源:知识 ...

  4. Gin 响应方式

    响应 1. 字符串方式 r.GET("/user/save", func(ctx *gin.Context) { ctx.String(http.StatusOK, "t ...

  5. conditional_t和enable_if_t的实现

      conditional_t和enable_if_t是元编程里面很相似却有有着一定区别的模板.形如conditional_t<_Cond, _If, _Else>是指如果_Cond表达式 ...

  6. 小知识:在Exadata平台上使用ExaWatcher收集信息

    在非Exadata平台上,我们通常会使用DBA已经很熟悉的OSW,如果有不熟悉的朋友可以参考我之前的随笔初步了解OSW: OSW 快速安装部署 OSW Analyzer分析oswbb日志发生异常 而在 ...

  7. Kubernetes 1.26.0实战:在本地配置k8s集群

    阶段一:开发环境及版本 以下环境均来自官网: 本地宿主机环境:Windows 10 21H2 64位 虚拟机软件:VMware workstation 15.5 pro 虚拟机镜像版本:ubuntu- ...

  8. Python3排序sorted(key=lambda)

    Python3排序sorted(key=lambda) 简述: 假如d是一个由元组构成的列表,我们需要用到参数key,也就是关键词,看下面这句命令,lambda是一个隐函数,是固定写法,不要写成别的单 ...

  9. Java集合篇之set,面试官:请说一说HashSet、LinkedHashSet、TreeSet的区别?

    写在开头 Java的集合世界中主要由List,Set,Queue,Map构成,我们在之前的博文中已经学习了List,接下来我们继续学习Set集合. Set特点:存取无序,不可以存放重复的元素,不可以用 ...

  10. STM32F401的PWM输出

    PWM的说明 PWM有三个关键指标: PWM频率, 占空比, 区分度 对于同一个时钟频率下工作的单片机, 区分度是和PWM工作频率相关的, 因为总频率是固定的, PWM工作频率越高, 留下给区分度的部 ...