Java调用BCP导入数据到数据库解决标识列ID问题

前面的一篇博文讲解了调用bcp批量导出数据,对于批量导入数据则写的不怎么详细,本文再详细的介绍下一个使用技巧。对于批量导入,如果表中含有标识列,则默认会按照Sql Server 的处理方式来处理这个标识列,因此也就不是我们需要的ID值了,本文我们一起来探讨下解决方法。

①要导入的数据如下:

红框框的则是标识列,自动增长。

但是,我们使用了

②导入数据之后,服务器空间,发现数据出现了问题。

可以很清晰的发现,ID变了,由此带来的问题也就可想而知了,怎么解决这个问题呢?

有人提出了下面的这种做法:

这条语句使用的时候,只能一张表一张表的导入,美国空间,也就失去了批量导入的意义了。而且直接写在我们的bat文件中还会提示

经查阅文档发现,bcp已经为我们提供了一个非常好的解决方法,加上-E

这个参数,即可解决标识列的问题!

下面是-E 参数的详细介绍,

如果bcp导入的时候,免备案空间,没有加入-E这个参数,则对于目标表中的标识列的处理则由Sql Server 自动的来处理,因此得出的ID值就不是我们想要的了。

本文出自 “幽灵柯南的技术blog” 博客,请务必保留此出处

与其在那里苦苦挣扎,碍于面子硬撑,倒不如微笑着面对,

Java调用BCP导入数据到数据库解决标识列ID问题

相关文章:

你感兴趣的文章:

标签云: