- 浏览: 366650 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (225)
- java (76)
- English (2)
- office (2)
- 架构设计 (1)
- 人在职场 (3)
- database (21)
- C# (18)
- 向往的院校 (0)
- C++ (1)
- AJAX (1)
- 操作系统 (8)
- eclipse (1)
- Spring (0)
- Linux (1)
- Javascript (6)
- 离散 (0)
- 协议 (1)
- sql server (5)
- sql server (0)
- fdf (0)
- xml (1)
- sql语句里top和distinct一起用 (1)
- 正则表达式 (7)
- 表达 (1)
- ms server (1)
- SWFObject (0)
- 线程 (2)
- Java线程 (0)
- Android & SQLite (0)
- Android (0)
- window.XMLHttpRequest (0)
- DB pool (0)
- tomcat内存溢出设置JAVA_OPTS (1)
- java bcp (1)
- 文件系统转换 (1)
- Microsoft XMLDom (1)
- tree (0)
- C# installer (0)
- 对付http cc攻击 (0)
- Ckeditor (0)
- MyEclipse (0)
- PDM (0)
- PDM OOM (0)
- asp.net (0)
- tomcat (1)
- Tomcat session (1)
- jdk (0)
- Bootstrap (0)
最新评论
-
kenail:
格式太乱了。
转 使用WebService压缩传输的心得 -
存在即为合理:
写得好乱,但是还是谢谢你的驱动
JDBC连接SQL server 2005 驱动 -
guji528:
长见识了,谢谢分享!
TL1协议(正文信息收集整理来源Internet) -
王大人:
Js window confirm()方法及其使用 -
Eastman:
SqlServer附加数据库出错,错误代码5123
面的一篇博文讲解了调用bcp批量导出数据,对于批量导入数据则写的不怎么详细,本文再详细的介绍下一个使用技巧。对于批量导入,如果表中含有标识列,则默认会按照Sql Server 的处理方式来处理这个标识列,因此也就不是我们需要的ID值了,本文我们一起来探讨下解决方法。
。
①要导入的数据如下:
红框框的则是标识列,自动增长。
但是,我们使用了
- bcp sportSys.dbo.competitions in %1competitions.xls -c -T >>%2import.txt
②导入数据之后,发现数据出现了问题。
可以很清晰的发现,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
这个参数,即可解决标识列的问题!
下面是-E 参数的详细介绍,
- -E
- Specifies that identity value or values in the imported data file are to be used for the identity column. If -E is not given, the identity values for this column in the data file being imported are ignored, and SQL Server automatically assigns unique values based on the seed and increment values specified during table creation.
- If the data file does not contain values for the identity column in the table or view, use a format file to specify that the identity column in the table or view should be skipped when importing data; SQL Server automatically assigns unique values for the column. For more information, see DBCC CHECKIDENT (Transact-SQL).
- The -E option has a special permissions requirement. For more information, see "Remarks" later in this topic.
如果bcp导入的时候,没有加入-E这个参数,则对于目标表中的标识列的处理则由Sql Server 自动的来处理,因此得出的ID值就不是我们想要的了。
本文出自 “幽灵柯南的技术blog” 博客,请务必保留此出处http://enetq.blog.51cto.com/479739/912093
发表评论
-
tomcat安装不成功.提示是:failed to install tomcat6 service ,check your setting and permis
2018-03-08 14:55 405以管理员身份运行 命令提示符,弹出窗口 ,选择“是”,输入 ... -
把系统时间设置成跟数据库的一致
2016-08-22 16:41 0public String time(int x) { ... -
struts标签<logic:iterate>的用法
2016-01-08 16:17 0<logic:iterate>主要用来 ... -
WIN7环境下cmd javac不是内部或外部命令 .
2015-07-21 11:27 1190一般步骤如下: 网上摘抄部分: JAVA_HOME ... -
jdk环境变量配置
2014-08-25 11:01 0进行java开发,首先要安装jdk,安装了jdk后还要进行环境 ... -
[转]JDBC使用TNS连接多节点Oracle
2012-06-29 15:15 1172JDBC使用TNS连接多节点O ... -
一个简单的JDBC通用工具
2012-06-29 15:01 0一个简单的JDBC通用工具 支持多种数据库,统一方式产 ... -
java 可变参数方法Object... objs
2012-06-29 14:42 4152public abstract List find(Str ... -
java调用存储过程
2012-06-14 12:34 0在java可以使用java.sql.CallableState ... -
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接 错误解决办法
2012-06-13 12:56 3036用java连接sqlserver2005时总是出现下面这个错误 ... -
javac编译外部jar包
2012-06-12 14:23 3553这个有个很简单到解决 ... -
[转]Eclipse中将Java项目(引用了第三方包) 打包为jar
2012-06-12 14:13 988如果自己的java project中需要引用额外的jar包作为 ... -
java 调用BCP导入文本数据到表
2012-06-04 15:53 0在dos下的导入语句bcp SMM_SQL_REPLICA.d ... -
[转]jdk和jre有什么区别?
2012-03-09 14:28 769来源 简单的说JDK是面 ... -
[转]Java线程:线程栈模型与线程的变量
2012-02-16 14:06 739Java线程:线程栈模型与线程的变量 SCJP5学 ... -
[转] Java线程:概念与原理
2012-02-16 13:29 793Java线程:概念与原理 ... -
Java线程:创建与启动
2012-02-16 13:26 497SCJP5学习笔记 一、定义线程 ... -
JSP页面用get传递参数乱码问题
2011-06-24 15:52 1240通过get 方式传递参数时,如果参数是中文 ,则会出现乱码现在 ... -
PO/VO/DAO/BO/POJO是什么(JAVA几种对象的解释)
2011-03-30 16:49 0/*PO:persistant object持久对 ... -
Spring框架下资源属性的配置器类PropertyPlaceholderConfigurer
2011-02-25 15:01 7076在applicationContext.xml里配置DB ...
相关推荐
利用BCP导入导出数据库数据为TXT等文本数据
bcp导入导出SQL Server和Sybase数据库数据
vb利用shell功能调用sql里的bcp数据库导出导入
这是一个数据初始化工具,数据导出:在ServerDbConfig.cfg文件里配置好数据库访问所需要的信息,在sql文件下配置好要导出的SqlFiles,执行批处理DBUpdator_Normal.bat,就可以...就可以将文本形式的数据导入到数据库中。
本文实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,...
BCP批量导入excel数据到sqlserver相关资料整理
bcp是微软SQLServer数据库系统的命令行工具,用于进行大数据量的导入导出,该工具简单实用、效率极高,本文总结了bcp命令操作的各种设置开关功能含义和使用方法,可以为需要的用户提供有益帮助。
sybase数据库bcp导入导出数据报错处理以及注意事项
在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中。下面将详细讨论如何利用bcp导入导出数据。 1. bcp的主要参数介绍 bcp共有四个动作可以选择。 (1)...
批量复制程序(BCP)是Microsoft SQL Server中的一个命令行实用程序。使用BCP,我们可以导入并可从SQL Server数据库中快速而轻松地导出数据。任何使用这个功能的数据库管理员都承认BCP是一个关键工具。
数据库损坏如何修复(bcp).txt 数据库损坏如何修复(bcp).txt数据库损坏如何修复(bcp).txt数据库损坏如何修复(bcp).txt数据库损坏如何修复(bcp).txt
通过java 调用bcp 导入数据
数据库中的一个表快速导入另一个数据库中。 用bcp导入数据 按照数据表结构创建相应的结构,利用bcp转换数据
在使用bcp导入文本文件到数据库是错如下: SQLState = 22001, NativeError = 0 Error = [Microsoft][ODBC SQL Server Driver]字符串数据,右截位
可以将MSSQL数据库导出,创建同样的数据库后在进行导入,通过BCP的方式,简单,方便,快捷!在执行以下命令时,因为原数据库中的某些表可能有损坏,会导致执行失败,在错误信息前一行会显示该表名。为了让 语句能...
上次传得只有导出,这次导入也做出来了。 加了中括号得数据库导入in,导出out不行,但是导出queryout可以(加中括号是数据库名字有破折号-,或空格的数据库)例如[spt-ceshi].dbo.tbl_A
sql server bcp 导入 到处 详细资料 参数
此方法适用于索引坏,DBCC不能修复的数据库,另置疑数据库也可用此方法修复(改成紧急模式下就可以访问置疑数据库),只要SELECT能出数据就能倒出来!
SQLServer 数据 导入导出 BCP详解。。。。。。。。。
用bcp从文本文件导入数据到sybase中,比如: 数据库服务器是mydb 表名是table_name 数据文件是 data_file 用户名是user 密码是passwd 数据库服务名是 db_name 那么完整的写法是: bcp mydb..table_name in ./data_file...