SQLServer 导入 Excel 表数据报错“文本被截断。。。”
报错详情(关键信息就是:文本被截断)
错误 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 表数据报错“文本被截断。。。”的更多相关文章
- SQL SERVER 导入EXCEL表 报错 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序
1 已经正确安装了 accessdatabaseengine 2 使用 Microsoft SQL Server Management Studio 里面的数据库 右键-->导入数据 解决方案 ...
- oracle导入Excel表文本数据
首先导Excel表数据要先建和Excel表字段对应的表,然后将Excel表另存为Txt文本, 然后在Plsql客户端点击工具->文本导入器 然后这里要选择用户及其表,点击导入数据就可以
- sqlserver 导入excel
安装完office2013和sqlserver2017时,不知道是盗版问题还是啥 原因, 在sqlserver导入excel时,报错. 在把Excel导入SQL server时出现“未在本地计算机上注 ...
- winfrom 导入Excel表到access数据库(来自小抽奖系统)
网上有很多这种方法,本人只是针对自己的系统来实现的 //导入excel表 private void ImportTSMenu_Click(object sender, EventArgs e) { O ...
- 向ACCESS数据库中的表导入EXCEL表,在 System.Data.OleDb.OleDbException 中第一次偶然出现的“System.Data.dll”类型的异常
向ACCESS数据库中的表导入EXCEL表,EXCEL表Sheet1中与ACCESS数据库表中的关键字对应的列的值,不能与数据库中表的主键项值重复,不然就会出现 在 System.Data.OleDb ...
- C# winform 编程 向ACCESS数据库导入EXCEL表使用心得
public string MyConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ErLake.mdb&quo ...
- SQL Server导入Excel文件报错
目录 文本被截断,或者一个或多个字符在目标代码页中没有匹配项 原因 解决方法 该值违反了该列的完整性约束 空行 没有设置为允许为NULL 我以前也导入过数据,也没报错,今天再次导入数据的时候,发现了两 ...
- 向MySql数据库导入excel表数据
最近要开发一个小的答题系统,如果题目人工录入那确实很麻烦.所以想到是不是可以从用一些现有数据格式的文件导入数据.在网上查了一下,看到有关于将excel的数据导入到mysql的方法.所以将题库数据整理成 ...
- SQL Server 2005导入Excel表问题
EXCEL导入到SQL Server经常出现“文本被截断,或者一个或多个字符在目标代码页中没有匹配项” 原因: SQL Server的导入导出为了确定数据表的字段类型,取excel文件的前8行来判别. ...
- sqlserver导入excel的电话号码(身份证)变为科学计数解决方式
如果excel中有一列存的是手机号码或者身份证号码,那么导入到sql中时,会把手机或者身份证当作数字格式对待,因而会以科学记数法的形式存在sqlserver表中,解决方式,先将excel文件另存为文本 ...
随机推荐
- 西门子PLC高校作业以及创新项目
抢答器 在主持人按下启动按钮,3秒内
- nodejs的npm改为国内源和参数
npm源改为国内 此方法不需要安装cnpm也可以使用淘宝镜像,提高国内访问速度 由于 Node 的官方模块仓库网速太慢,模块仓库需要切换到阿里的源. npm config set registry h ...
- win10下MySQL安装教程(MySql-8.0.26超级详细)
一.下载安装包: 官网链接:MySQL :: Developer Zone 依次点击步骤如下: 二.MySQL文件配置 解压安装包: 解压后的目录并没有的my.ini文件,没关系可以自行创建在安装根目 ...
- LyScript 批量搜索反汇编特征
LyScript 插件实现对特定汇编指令片段的批量搜索功能,用户传入一个汇编指令列表,然后循环搜索该列表内的所有指令特征,如果找到了,则返回该指令的内存地址. 插件地址:https://github. ...
- PE格式:新建节并插入代码
经过了前一章的学习相信你已经能够独立完成FOA与VA之间的互转了,接下来我们将实现在程序中插入新节区,并向新节区内插入一段能够反向连接的ShellCode代码,并保证插入后门的程序依旧能够正常运行不被 ...
- Python 实现指定窗口置顶激活
通过Python实现对特定窗口的置顶操作以及对特定窗体发送按键,这里需要安装一个第三方pip包,执行命令pywin32安装好以后,我们运行试试. 第一个案例,遍历所有句柄,然后对特定窗口进行最大化或最 ...
- Linux的用户和权限 [补档-2023-07-07]
Linux用户和权限 3-1. su用户切换命令 exit用户退出命令 用户切换命令的语法: su [-] [用户名] 其中: - 可选,表示是否在切换用户后加载环境变量,建议带上. ...
- Ubuntu安装PHP和NGINX环境
Ubuntu安装PHP和NGINX环境 介绍 PHP-FPM PHP-FPM 是 PHP FastCGI Process Manager 的缩写,是 FastCGI 进程管理器. PHP-FPM 是基 ...
- jq 完成复选框的全选和全不选,并组装成数组发送到后台
jQuery 代码实现,HTML dom节点对应js的id 即可 <script> $(function() { //复选框全选和全不选 $("#selectAll") ...
- RESTful架构与RPC架构
RESTful架构与RPC架构 在RESTful架构中,关注点在于资源,操作资源时使用标准方法检索并操作信息片段,在RPC架构中,关注点在于方法,调用方法时将像调用本地方法一样调用服务器的方法. RE ...