EXCEL 导入MSSqlserver数据库报错
通过navicat12倒出数据,文件格式是xls,但在xls修改完数据后再往数据库便导入便报错。此外因为数据量很大,超过24万条数据,但xls格式导出的内容只有6万多数据。不过最后还是解决了。
碰到的问题
- xls数据行数支持不足
- xlsx和xls使用vlookup函数后报错,找不到对应数据(因为表格上是由绿色三角
- 主键约束问题
- xlsx格式中日期与数据库中datatime格式不符合
- sqlserver自增长列标识导入的时候报错【这个是最坑的一切的源头!
1.xls数据行数支持不足
也是头一次遇到需要面对excel行数不足的问题,数据大约有24万,对2003版,最大行数是65536行,对2007以上版本,最大行数是1048576行。
在Excel里用Ctrl+向下方向键可以到达最后一行进行验证。还好xlsx支持百万行数据,在navicat中导出的格式选择xlsx就好了。(导出的时候xlsx文件可能会有问题,报错是在win7上,装的是office2010,换了台win10,office2019再用navicat12导出就没问题了)
2.xlsx和xls使用vlookup函数后报错
因为excel使用vlookup后发现明明可以匹配的数据,但是就是显示匹配结果是#N/A,数据没问题,但是再空格上边有“绿色三角”。
搜一搜后发现是数据异常的意思,也就因为文件格式有变动,所以出现这个问题。 解决的办法也很简单,就是选中所有绿色三角,然后点击提示的这个黄色小叹号。然后点击转换为数字,三角就没有了。之后vlookup函数也正常工作了!
3.主键约束问题
这个问题是通过excel导入的时候发现的,原来是设置了两个属性共同为主键,但是看数据是没问题的,两个属性按照逻辑来讲不会冲突。取消主键约束后(就是点击两个小钥匙就可以取消)数据不再报错。
4.xlsx格式中日期与数据库中datatime格式不符合
取消主键后,结果发现导入的数据确实存在重复值!是日期格式的属性有重复值,都是1900年.....这样的,数据库里边是datatime,但excel表格里边是这样显示的。
应该是数字格式没匹配上。
几番搜索后,得到解决办法,就是点击上图的“其他数字格式”,然后设置一下类型。
这样设置之后再导入就不再报错,并且数据库里边的数据是正常的datatime格式了!
5.Sqlserver自增长列标识导入的时候报错【这个是最坑的一切的源头!
之所以会出现这种需求,是因为我把数据库数据的导入导出来更新想象的太简单了,导出完excel格式数据后就很放心的清除数据库表的数据,可是没想到啊,再导入的时候就报错,发现是因为这个表里边存在“标识列”,就是自增长的一个列,不允许通过excel方式来往里边添加数据。
开始没有意识到标识列字段的重要性,所以强制通过excel导入了数据,就是在导入的时候将excel列与数据库属性的对应关系选择空,这样就可以导入了,不过导入的数据的标识列是自动往后边累加的!
在发现表示列的数不一致的时候,会想有没有取消表示列的方法,搜到的方法是通过【增加同名列-复制数据-删标识列】的方法。但既然设置数据库的时候启用了表示列,那必然是有用的。所以pass掉这种方法。后来又发现可以通过充值增加种子的方法重新导入再增,也就是下边第一句SQL,这样就解决了部分问题,另外一部分问题分解成了上边的Q1~Q4也都解决了!
-- 重置表中的标识列的增加起点为1
-- 参数1是表名 参数2是执行类型 RESEED代表重置种子 参数3设置数值
DBCC CHECKIDENT('USERINFO', RESEED,1) -- 清除表的内容 USERINFO 是表名
TRUNCATE TABLE [USERINFO] -- 设置手动插入标识列的值
-- ON 代表启动手动设置 不过这个对insert语句有效 excel测试无果
set identity_insert USERINFO ON
小结
就以这次经历来讲最保险的数据导出是将这个表转存成sql文件,包括数据和表结构!
当然更好的方式是对整个数据进行灾备和定期备份,这个我不太了解,经此一役后要多注意这方面知识的学习了!
EXCEL 导入MSSqlserver数据库报错相关推荐
- mysql导出数据库报错,navicat 导入导出数据库报错的解决
在使用navicat导入导出数据功能时,导出没问题,导入总是报错,还遇到了中文乱码.在网上查了很多资料,比如使用了navicat的数据传输功能,但仍然报错,弄了几个小时都没解决. 最后换了种思路,我直 ...
- hive 导入mysql数据库_求助 Hive 导入MYsql 数据库 报错啊
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 sqoop export \ --connect "jdbc:mysql://localhost:3306/emp?characterEncod ...
- 数据库用impdp导入时日志报错:ORA-39246, ORA-39059,哪位大神给解答一下
数据库用impdp导入时日志报错:ORA-39246: 无法在提供的转储文件中定位主表 ORA-39059: 转储文件集不完整,拜请大神指导! 来自 " ITPUB博客 " ,链接 ...
- mysql导入数据库报错解决方式
mysql导入数据库报错解决方式 一.工具导入sql报错 1.一般导入都是使用工具进行导入,但是在导入时候可能会报错,导致导入失败.如下: 2.经过在网上查询,换了几种方式都没有解决. 3.后来和开发 ...
- EasyExcel导入的时候报错Caused by: java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/File
今天用EasyExcel导入的时候报错,如下 com.alibaba.excel.exception.ExcelAnalysisException: java.lang.NoClassDefFound ...
- Oracle导入TYPE对象报错ORA-02304
Oracle导入TYPE对象报错ORA-02304 Type是我们经常使用的数据库对象结构.我们在实际中,可以单独定义type类型,之后在PL/SQL代码或者数据表中使用. 在一个偶然的机会让笔者发现 ...
- 数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”
故障描述 故障主要表现为打开数据库时报错,内容为:"system01.dbf需要更多的恢复来保持一致性,数据库无法打开".经过对数据库文件的检测后初步可得出以下结论:sysaux0 ...
- 导入sql文件报错:MySQL server has gone away 以及解决方法
项目场景: 导入sql文件报错:MySQL server has gone away 以及解决方法 问题描述: 在我们使用mysql导入大文件sql时可能会报MySQL server has gone ...
- sqoop将oracle数据导入到hive报错:Error: java.io.IOException: SQLException in nextKeyValue
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 问题 一.问题是什么导致的? 二.验证问题 总结 问题 sqoop将oracle数据导入到hive报错:Error: jav ...
- oracle解决00302,oracle 导入数据,报错PLS-00302: component 'SET_NO_OUTLINES' must be declared...
oracle 导入数据,报错PLS-00302: component 'SET_NO_OUTLINES' must be declared . 今天将本机的一个导出的库,导入到中一个oracle数据库 ...
最新文章
- Lambda 表达式到底有何用处?如何使用?
- PHP做好友关系系统,php社交好友网站
- Increasing Subsequence (hard version)
- Kotlin 继续助力 Android 开发,并计划涉足更多领域
- 成功通过pmp_这就是你为啥要学PMP!!!
- 【01背包】最大约数和(jzoj 2126)
- junit5和junit4_JUnit 5 –架构
- 基于JAVA+Servlet+JSP+MYSQL的个人博客系统
- 如何在用户区显示一张位图
- mac新手入门:从启动台Launchpad中完全删除应用程序
- Windows Server 2008 R2之三管理活动目录数据库
- 程序员的悲哀是什么?
- java web简单线上游戏_手把手教你用Java实现一个简易联网坦克对战小游戏 !
- Generalizing Surrogate-Assisted Evolutionary Computation
- 1周上线系统,效率提升100%,宜搭助力阿里巴巴法务数字化升级
- Android 打包签名 从生成keystore到完成签名
- python怎么接单子平台有哪些_17个Python接私活的平台,总有适合你的,有技术就有收入...
- b插到元素a之前python_python面试题(转)
- git 修改远端 commit 信息
- 无法访问计算机请检查名称的拼写,Win7访问共享文件夹提示“请检查名称的拼写”怎么办?...
热门文章
- php经典面试题与答案(转先锋教程网)
- 二、Arduino软件下载-安装-测试教程
- Github下载 arduino库下载
- 机器学习项目实战(一) 鸢尾花
- 苹果cms影视源码的安装和使用
- 氪8号积木机器人编程_编程机器人怎么选?
- java cxf调用wsdl文件_如何使用CXF将 .wsdl 文件变成java文件
- 安卓电子书格式_求把 EPUB 转换成 MOBI 的电子书格式转换工具
- cmd /c和cmd /k 以及CMD命令
- 纯js手写一个element的弹窗,方便修改自己想要的样式