Java调用BCP导入数据到数据库解决标识列ID问题
来源:互联网 发布:汨罗淘宝售后打包招聘 编辑:程序博客网 时间:2024/06/08 13:34
前面的一篇博文讲解了调用bcp批量导出数据,对于批量导入数据则写的不怎么详细,本文再详细的介绍下一个使用技巧。对于批量导入,如果表中含有标识列,则默认会按照Sql Server 的处理方式来处理这个标识列,因此也就不是我们需要的ID值了,本文我们一起来探讨下解决方法。
。
①要导入的数据如下:
红框框的则是标识列,自动增长。
但是,我们使用了
bcp sportSys.dbo.competitions in %1competitions.xls -c -T >>%2import.txt
②导入数据之后,发现数据出现了问题http://heilongjiangfuzhuang.com。
可以很清晰的发现,ID变了,由此带来的问题也就可想而知了,怎么解决这个问题呢?
有人提出了下面的这种做法:
SET IDENTITY_INSERT tb ON--把显式值插入表的标识列中。 INSERT INTO..... SET IDENTITY_INSERT tb OFF--完成之后关闭选项
这条语句使用的时候,只能一张表一张表的导入,也就失去了批量导入的意义了。
而且直接写在我们的bat文件中还会提示
SET IDENTITY_INSERT sportSys.dbo.compet itions on 环境变量 IDENTITY_INSERT sportSys.dbo.competitions 没有定义
经查阅文档发现,bcp已经为我们提供了一个非常好的解决方法,加上-E
这个参数,即可解决标识列的问题!
如果bcp导入的时候,没有加入sducc1122-E这个参数,则对于目标表中的标识列的处理则由Sql Server 自动的来处理,因此得出的ID值就不是我们想要的了。
- Java调用BCP导入数据到数据库解决标识列ID问题
- java调用bcp命令导入数据
- 发现MSSQL导入数据时标识列存在的问题,已解决
- sybase数据库bcp导入数据乱码、换行问题
- 运用BCP导出数据库大批量数据以及导入大批量数据到数据库
- 批量处理BCP导入文件到数据库
- 数据库BCP命令导入导出数据
- bcp导入导出sybase数据库的数据
- 高分请教bcp导入数据问题,顶者有分
- bcp批量复制数据到数据库中
- Java POI --- Java导入excel文档的相应列的数据到数据库的相应字段
- 数据库导入导出-bcp
- bcp导入数据成功
- bcp 导入数据
- bcp命令导入大量数据到sql server
- Excel数据导入到数据库乱码问题
- 一切尽在自动中(二),sqlserver “利用FTP下载然后bcp方式导入数据到数据库”
- 解决关于导入数据到mysql数据库时出现的乱码问题
- linux 动态链接的创建和使用
- 垃圾回收
- Sicily 1685 Missile
- UINavigationController定义 一定得记住了。千万别忘记了
- 联合表 分页存储过程
- Java调用BCP导入数据到数据库解决标识列ID问题
- java 正则表达式详细
- linux 命令学习
- 判断字符串是否为中文
- java.lang.IllegalArgumentException: pointerIndex out of range 问题的两种解决办法
- 网络人远程控制软件控制速度提高诀窍
- Rcpp实现R与C++的无缝连接
- 一、redis学习笔记之环境搭建
- linux内存与I/O访问