SQL提供的进行数据传输的实用程序—BCP


BCP语句的作用:

BCP是SQL提供的进行数据传输的实用程序,这种语句提供了非常快的数据导入的方法。(当然7。0也有BCP的替代方法就是DTS,但是我们还是要来讲讲BCP。因为个人觉得它导入导出的速度非常的快。而且系统开销小,因为BCP是基于命令行的)

BCP支持的文件类型是ASCII文本文件,本地的SQL格式文件和UNICODE文件。所以大家不用考虑用BCP来导入EXCEL或者ACCESS。

执行了BCP后的语法如下:


以下为引用的内容:

Microsoft(R) Windows 98

   (C)Copyright Microsoft Corp 1981-1999.
  
C:\>bcp

usage: C:\MSSQL7\BINN\BCP.EXE {database.owner.dbtable

| query} {in | out | queryout | format} datafile

  [-m maxerrors]            [-f formatfile]       [-e errfile]
 
  [-F firstrow]             [-L lastrow]          [-b batchsize]
 
  [-n native type]          [-c character type]   [-w wide character type]
 
  [-N keep non-text native] [-6 6x file format]   [-q quoted identifier]
 
  [-C code page specifier]  [-t field terminator] [-r row terminator]
 
  [-i inputfile]            [-o outfile]          [-a packetsize]
 
  [-S server name]          [-U username]         [-P password]
 
  [-T trusted connection]   [-v version]          [-R regional enable]
 
  [-k keep null values]     [-E keep identity values]
 
  [-h "load hints"]
 
 
语法说明如下:

database 需要访问的数据库名字

owner 所访问表或者视图的用户名字

dbtable 所访问的表或者视图

query 产生一个结果集的SQL语句,当然语句要用双引号引起来

in out queryout format 数据传输的方向。In表示导入,out表示导出。

Datafile 导入时的源数据文件名或者是导出生成的文件名字。

上面是BCP的语法说明,下面讲讲一些经常使用到的参数

[-f formatfile] 用来输入输出格式的文件名字,可以包含有路径

[-U username] 登陆数据库的表示符

[-P password] 登陆数据库的口令

[-S server name] 数据库的名字,如果是两台服务器之间导入导出必须要填写

[-c character type] 字符数据模式,在使用了该模式以后就不需要使用-f这个参数

其他的参数可以在SQL的帮助中找到,我就不详细介绍了。

操作的模式:

在使用BCP导入数据时,有两种模式:快速和慢速模式。快速模式绕过事务日志,慢速模式将所有数据都记录在事务日志中。

在使用BCP之前为了能够运行在快速模式下,你首先需要把数据库的SELECT INTO/BULK COPY设置成TURE。

通过BCP直接向数据库导入数据时,需要考虑你的导入的表中的触发器,规则,索引等。BCP对触发器和规则是不强制处理的

BCP语句的作用:

BCP是SQL提供的进行数据传输的实用程序,这种语句提供了非常快的数据导入的方法。(当然7。0也有BCP的替代方法就是DTS,但是我们还是要来讲讲BCP。因为个人觉得它导入导出的速度非常的快。而且系统开销小,因为BCP是基于命令行的)

BCP支持的文件类型是ASCII文本文件,本地的SQL格式文件和UNICODE文件。所以大家不用考虑用BCP来导入EXCEL或者ACCESS。

执行了BCP后的语法如下:


以下为引用的内容:

Microsoft(R) Windows 98

   (C)Copyright Microsoft Corp 1981-1999.
  
C:\>bcp

usage: C:\MSSQL7\BINN\BCP.EXE {database.owner.dbtable

| query} {in | out | queryout | format} datafile

  [-m maxerrors]            [-f formatfile]       [-e errfile]
 
  [-F firstrow]             [-L lastrow]          [-b batchsize]
 
  [-n native type]          [-c character type]   [-w wide character type]
 
  [-N keep non-text native] [-6 6x file format]   [-q quoted identifier]
 
  [-C code page specifier]  [-t field terminator] [-r row terminator]
 
  [-i inputfile]            [-o outfile]          [-a packetsize]
 
  [-S server name]          [-U username]         [-P password]
 
  [-T trusted connection]   [-v version]          [-R regional enable]
 
  [-k keep null values]     [-E keep identity values]
 
  [-h "load hints"]
 
 
语法说明如下:

database 需要访问的数据库名字

owner 所访问表或者视图的用户名字

dbtable 所访问的表或者视图

query 产生一个结果集的SQL语句,当然语句要用双引号引起来

in out queryout format 数据传输的方向。In表示导入,out表示导出。

Datafile 导入时的源数据文件名或者是导出生成的文件名字。

上面是BCP的语法说明,下面讲讲一些经常使用到的参数

[-f formatfile] 用来输入输出格式的文件名字,可以包含有路径

[-U username] 登陆数据库的表示符

[-P password] 登陆数据库的口令

[-S server name] 数据库的名字,如果是两台服务器之间导入导出必须要填写

[-c character type] 字符数据模式,在使用了该模式以后就不需要使用-f这个参数

其他的参数可以在SQL的帮助中找到,我就不详细介绍了。

操作的模式:

在使用BCP导入数据时,有两种模式:快速和慢速模式。快速模式绕过事务日志,慢速模式将所有数据都记录在事务日志中。

在使用BCP之前为了能够运行在快速模式下,你首先需要把数据库的SELECT INTO/BULK COPY设置成TURE。

通过BCP直接向数据库导入数据时,需要考虑你的导入的表中的触发器,规则,索引等。BCP对触发器和规则是不强制处理的


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3