bcp 实用工具Word格式文档下载.docx
- 文档编号:8136221
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:15
- 大小:28.15KB
bcp 实用工具Word格式文档下载.docx
《bcp 实用工具Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《bcp 实用工具Word格式文档下载.docx(15页珍藏版)》请在冰点文库上搜索。
queryout。
in
|
out
format
指定大容量复制的方向,具体如下:
∙in
从文件复制到数据库表或视图。
注意:
SQLServer6.5的
实用工具不支持向包含
sql_variant
或
bigint
数据类型的表进行大容量复制。
∙out
从数据库表或视图复制到文件。
提取数据时,请注意
实用工具将空字符串表示为null,而将null字符串表示为空字符串。
∙queryout
从查询中复制,仅当从查询大容量复制数据时才必须指定此选项。
∙format
根据指定的选项(-n、-c、-w、-6
-N)以及表或视图的分隔符创建格式文件。
大容量复制数据时,bcp
命令可以引用一个格式文件,从而避免以交互方式重复输入格式信息。
format
选项要求指定
-f
选项;
创建一个XML格式文件时还需要指定
-x
选项。
有关详细信息,请参阅创建格式化文件。
data_file
数据文件的完整路径。
将数据大容量导入SQLServer时,数据文件将包含要复制到指定表或视图的数据。
从SQLServer大容量导出复制数据时,数据文件将包含从表或视图复制的数据。
路径可以有1到255个字符。
数据文件最多可包含2,147,483,647行。
重要提示:
对于
选项,必须指定
nul
作为
data_file(format
nul)的值。
-m
max_errors
指定取消
操作之前可能出现的语法错误的最大数目。
语法错误是指将数据转换为目标数据类型时的错误。
max_errors
总数不包括只能在服务器中检测到的错误,如违反约束。
无法由
实用工具复制的行将被忽略,并计为一个错误。
如果不指定此选项,则默认为10。
选项也不用于转换
money
数据类型。
format_file
指定一个格式文件的完整路径。
该选项的含义取决于使用它的环境,具体如下:
∙如果
与
选项一起使用,则将为指定的表或视图创建指定的
format_file。
若要创建XML格式文件,请同时指定
∙如果与
一起使用,则应为
指定一个现有的格式文件。
选项一起使用时,格式文件是可选的。
如果没有
选项,则在未指定
-n、-c、-w、-6
-N
时,该命令将提示输入格式信息,并允许用户将回应保存在格式文件(默认名称为Bcp.fmt)中。
-x
和
format_file
选项一起使用,可以生成基于XML的格式化文件,而不是默认的非XML格式化文件。
在导入或导出数据时,-x
不起作用。
如果不与
和-f
一起使用,则将生成错误。
若要使用
开关,则必须使用
9.0客户端。
有关如何使用
9.0客户端的信息,请参阅本主题后面的“备注”。
-e
err_file
指定错误文件的完整路径,此文件用于存储
无法从文件传输到数据库的所有行。
命令产生的错误消息将被发送到用户的工作站。
如果不使用此选项,则不会创建错误文件。
-F
first_row
指定要从表中导出或从数据文件导入的第一行的编号。
此参数应大于(>
)0,小于(<
)或等于(=)总行数。
如果不指定此参数,则默认为文件的第一行。
-L
last_row
指定要从表中导出或从数据文件导入的最后一行的编号。
)或等于(=)最后一行的编号。
如果不指定该参数,则默认为文件的最后一行。
-b
batch_size
指定每批导入数据的行数。
每批均作为一个单独的事务进行导入并记录,在提交之前会导入整批。
默认情况下,数据文件中的所有行均作为一批导入。
若要在多批之间分布行,请指定小于数据文件中行数的
batch_size。
如果任何批的事务失败,则只回滚当前批中的插入。
已经由已提交事务导入的批不会受到将来失败的影响。
请不要将该选项与
h"
ROWS_PER_BATCH
=
bb"
选项一起使用。
有关详细信息,请参阅管理大容量导入的批处理。
-n
使用数据的本机(数据库)数据类型执行大容量复制操作。
此选项不提示输入每个字段,它将使用本机值。
有关详细信息,请参阅使用本机格式导入或导出数据。
-c
使用字符数据类型执行该操作。
此选项不提示输入每个字段;
它使用
char
作为存储类型,不带前缀;
\t(制表符)作为字段分隔符,使用
\r\n(换行符)作为行终止符。
有关详细信息,请参阅使用字符格式导入或导出数据。
-N
执行大容量复制操作时,对非字符数据使用本机(数据库)数据类型数据,对字符数据使用Unicode字符。
此选项是
-w
选项的一个替代选项,并具有更高的性能。
该选项主要用于使用数据文件,将数据从一个SQLServer实例传送到另一个实例。
该选项不提示输入每个字段。
如果要传送包含ANSI扩展字符的数据,并希望利用本机模式的性能优势,则可使用此选项。
不能在SQLServer6.5或更低版本中使用。
有关详细信息,请参阅使用Unicode本机格式导入或导出数据。
-w
使用Unicode字符执行大容量复制操作。
nchar
\n(换行符)作为行终止符。
该选项不能在SQLServer6.5或更低版本中使用。
有关详细信息,请参阅使用Unicode字符格式导入或导出数据。
-V
(
60|
65|
70|
80)
使用SQLServer早期版本中的数据类型执行大容量复制操作。
此选项并不提示输入每个字段,它将使用默认值。
例如,若要将随SQLServer6.5提供的
实用工具支持(但ODBC不再支持)的日期格式大容量复制到SQLServer2005,可使用
65
参数。
如果将大量数据从SQLServer导出到数据文件,那么即使指定了
-V,bcp
实用工具也不会为任何
datetime
smalldatetime
数据生成SQLServer6.0或SQLServer6.5日期格式。
日期将始终以ODBC格式写入。
另外,由于SQLServer6.5或更低版本不支持可为空的
bit
数据,因此位列中的空值将写为值0。
有关详细信息,请参阅导入来自早期版本的SQLServer的本机格式数据和字符格式数据。
-6
使用SQLServer6.0或SQLServer6.5数据类型执行大容量复制操作。
支持此选项仅为与较早版本兼容。
对于SQLServer7及更高版本,请使用
-q
在连接
实用工具和SQLServer实例时,执行SETQUOTED_IDENTIFIERSON语句。
使用此选项可以指定包含空格或单引号的数据库、所有者、表或视图的名称。
将由三部分组成的整个表名或视图名用英文双引号("
)括起来。
若要指定包含空格或单引号的数据库名称,必须使用
-q
有关详细信息,请参阅本主题后面的“备注”。
-C
{
ACP
OEM
RAW
code_page
用于兼容SQLServer的早期版本。
对于SQLServer7.0及更高版本,Microsoft建议在格式化文件中为每个列指定一个排序规则名称。
指定数据文件中数据的代码页。
仅当数据包含字符值大于127或小于32的
char、varchar
text
列时,code_page
才适用。
代码页值
说明
ACP
ANSI/MicrosoftWindows(ISO1252)。
OEM
客户端使用的默认代码页。
未指定
选项时使用的默认代码页。
RAW
不进行代码页间的转换。
因为不进行转换,所以这是最快的选项。
code_page
特定的代码页编号,例如850。
有关详细信息,请参阅在不同排序规则间复制数据。
-t
field_term
指定字段终止符。
默认值为
\t(制表符)。
使用此参数可以替代默认字段终止符。
有关详细信息,请参阅指定字段终止符和行终止符。
-r
row_term
指定行终止符。
\n(换行符)。
使用此参数可替代默认行终止符。
-i
input_file
指定响应文件的名称,其中包含在交互模式(未指定
-N)下执行大容量复制时,对该命令要求输入每个数据字段的提示信息作出的响应。
-o
output_file
指定文件名称,该文件用于接收从命令提示符重定向来的输出。
-a
packet_size
指定服务器发出或接收的每个网络数据包的字节数。
可以使用SQLServerManagementStudio(或
sp_configure
系统存储过程)来设置服务器配置选项。
但是,可以使用该选项逐个替代服务器配置选项。
packet_size
的取值范围为4096到65535字节,默认为4096字节。
增大数据包可以提高大容量复制操作的性能。
如果无法得到请求的较大数据包,则使用默认值。
实用工具生成的性能统计信息可以显示所用数据包的大小。
-S
server_name[
\instance_name]
指定要连接的SQLServer的实例。
如果不指定服务器,则
实用工具将连接到本地计算机上的默认SQLServer实例。
如果从网络或本地命名实例上的远程计算机运行bcp
命令,则必须使用此选项。
若要连接到服务器的SQLServer默认实例,请仅指定
server_name。
若要连接到SQLServer2005的命名实例,请指定server_name\instance_name。
-U
login_id
指定用于连接SQLServer的登录ID。
安全说明:
如果
实用工具使用集成安全性的可信连接与SQLServer进行连接,则使用
-T
选项(可信连接),而不要使用
username
password
组合。
-P
password
指定登录ID的密码。
如果不使用此选项,bcp
命令将提示输入密码。
如果在命令提示符的末尾使用此选项,但不提供密码,则
将使用默认密码(NULL)。
不要使用空密码。
请使用强密码。
若要屏蔽密码,请不要同时使用
而应在指定
以及
选项和其他开关(不指定
-P)之后,按Enter键,这时命令会提示输入密码。
这种方法可以确保密码在输入时被屏蔽。
-T
指定
实用工具通过使用集成安全性的可信连接连接到SQLServer。
不需要网络用户的安全凭据、login_id
password。
如果不指定
–T,则需要指定
–U
–P
才能成功登录。
-v
报告
实用工具的版本号和版权。
-R
指定使用客户端计算机区域设置中定义的区域格式,将货币、日期和时间数据大容量复制到SQLServer中。
默认情况下,将忽略区域设置。
-k
指定在操作过程中空列应该保留空值,而不是所插入列的任何默认值。
有关详细信息,请参阅在大容量导入期间保留空值或使用默认值。
-E
指定导入数据文件中的标识值用于标识列。
-E,则将忽略被导入的数据文件中此列的标识值,而且SQLServer2005将根据创建表期间指定的种子值和增量值自动分配唯一值。
假如数据文件不包含表或视图中的标识列的值,则可在格式文件指定,在导入数据时忽略表或视图中的标识列;
SQLServer2005将自动为该列分配唯一值。
有关详细信息,请参阅
DBCCCHECKIDENT(Transact-SQL)。
-E
选项有一个特殊的权限要求。
有关保留标识值的详细信息,请参阅大容量导入数据时保留标识值。
-h
hint[
...
n]
指定向表或视图中大容量导入数据时所用的提示。
向SQLServer6.x
或更低版本大容量复制数据时,不能使用此选项。
ORDER(column
[ASC|DESC][,...n])
数据文件中的数据排序次序。
如果根据表中的聚集索引(如果有的话)对要导入的数据排序,则可提高大容量导入的性能。
如果数据文件以不同的次序(即不同于聚集索引键的次序)排序,或者表中不存在任何聚集索引,则忽略ORDER子句。
提供的列名必须是目标表中有效的列名。
默认情况下,bcp
假设数据文件没有排序。
对于优化大容量导入,SQLServer还验证导入的数据是否已经排序。
有关详细信息,请参阅大容量导入数据时控制排序顺序。
bb
每批中数据的行数(即
bb)。
在未指定
时使用,这将导致整个数据文件被作为单个事务发送到服务器。
服务器根据
bb
值优化大容量加载。
默认情况下,ROWS_PER_BATCH未知。
KILOBYTES_PER_BATCH
cc
每批以千字节计的数据的近似值(即
cc)。
默认情况下,KILOBYTES_PER_BATCH未知。
TABLOCK
指定在大容量加载操作期间获取大容量更新表级别的锁;
否则,获取行级别的锁。
由于在大容量复制操作期间拥有锁可以减少表中的锁争夺,所以此提示可显著提高性能。
如果表没有索引并且指定了
TABLOCK,则该表可以同时由多个客户端加载。
默认情况下,锁定行为由表选项
tablelockonbulkload
确定。
有关详细信息,请参阅控制大容量导入的锁定行为。
CHECK_CONSTRAINTS
指定在大容量导入操作期间,必须检查所有对目标表或视图的约束。
如果没有CHECK_CONSTRAINTS提示,则忽略所有CHECK和FOREIGNKEY约束;
操作完成后,对表的约束将被标记为不可信。
始终强制使用UNIQUE、PRIMARYKEY和NOTNULL约束。
在某些时候,需要检查整个表的约束。
如果在大容量导入操作之前表为非空状态,则重新验证约束的开销可能超过将CHECK约束应用于增量数据的开销。
因此,建议您在正常情况下,在进行增量式大容量导入时,启用约束检查。
当输入数据包含违反约束的行时,您可能希望禁用约束(默认行为)。
如果禁用CHECK约束,您可以导入数据,然后使用Transact-SQL语句删除无效数据。
在SQLServer2005中,bcp
会强制执行新的数据验证和数据检查,这将导致对数据文件中的无效数据执行现有脚本时,可能会失败。
-mmax_errors
开关不适用于约束检查。
有关详细信息,请参阅通过大容量导入操作控制约束检查。
FIRE_TRIGGERS
参数一同指定,对目标表中定义的任何插入触发器都将在大容量复制操作期间运行。
如果不指定FIRE_TRIGGERS,将不运行任何插入触发器。
对于out、queryout
参数,将忽略FIRE_TRIGGERS。
有关详细信息,请参阅导入大容量数据时控制触发器执行。
备注
当您在系统中安装MicrosoftSQLServer工具时,将同时安装
如果同时安装了SQLServer2005和SQLServer2000工具,您所使用的可能是早期版本的
客户端而不是
9.0客户端,具体情况取决于PATH环境变量的值。
该环境变量定义Windows用于搜索可执行文件的目录集。
若要确定当前所使用的版本,请在Windows命令提示符下运行
/v
命令。
有关如何在PATH环境变量中设置命令路径的信息,请参见Windows帮助。
只有一起安装了SQLServer工具和SQLNativeClient后,才能支持XML格式文件。
有关在何处查找或如何运行
实用工具的信息以及命令提示实用工具语法约定的信息,请参阅命令提示实用工具。
有关准备用于大容量导入或导出操作的数据的信息,请参阅准备用于大容量导出或大容量导入的数据。
有关何时在事务日志中记录由大容量导入执行的行插入操作的信息,请参阅在大容量导入中按最小方式记录日志的前提条件。
计算列和timestamp列
为计算列或
timestamp
列导入的数据文件中的值将被忽略,SQLServer2005将自动分配值。
如果数据文件不包含表中的计算列或
列的值,则可用格式文件指定应在导入数据时忽略表中的计算列和
列;
SQLServer将自动为列分配值。
计算列和
列会照常从SQLServer大容量复制到数据文件。
指定包含空格或引号的标识符
SQLServer标识符可以包括字符,如嵌入的空格和引号。
此类标识符必须按以下方式处理:
∙如果在命令指示符中指定的标识符或文件名包含空格或引号,则需用英文双引号("
)将该标识符括起来。
例如,以下的
命令创建了一个名为
CurrencyTypes.dat
的数据文件:
∙bcpAdventureWorks.Sales.Currencyout"
CurrencyTypes.dat"
-T-c
∙若要指定包含空格或引号的数据库名称,必须使用
q
∙对于包含嵌入空格或引号的所有者、表或视图的名称,可以执行下列操作之一:
∙指定
选项,或者
∙将所有者、表或视图名称包含在方括号([])中,并用引号括起来。
数据验证
例如,bcp
现在可以验证:
∙float
real
数据类型的本机表示形式是否有效。
∙Unicode数据的字节数是否为偶数。
目前可能无法成功加载可以在早期版本的SQLServer中大容量导入的无效数据类型。
在早期版本中,仅当客户端尝试访问无效数据时才出现失败。
在大容量加载后查询数据时,添加的验证可最大限度地减少警告。
大容量导出或导入SQLXML文档
若要大容量导出或导入SQLXML数据,请在格式化文件中使用下列数据类型之一。
数据类型
结果
SQLCHAR或SQLVARYCHAR
在客户端代码页或排序规则隐含的代码页中发送数据。
与在不指定格式化文件的情况下指定
-c
开关具有相同的效果。
SQLNCHAR或SQLNVARCHAR
以Unicode格式发送数据。
SQLBINARY或SQLVARYBIN
不经任何转换即发送数据。
权限
操作要求对源表有SELECT权限。
操作要求至少对目标表有SELECT/INSERT权限。
此外,如果下列任何一条件成立,则要求具备ALTERTABLE权限:
∙存在约束,但没有指定CHECK_CONSTRAINTS提示。
禁用约束是默认行为。
若要显式启用约束,请使用
选项和CHECK_CONSTRAINTS提示。
∙存在触发器,但没有指定FIRE_TRIGGER提示。
默认情况下,不触发触发器。
若要显式激发触发器,请使用
选项和FIRE_TRIGGERS提示。
∙可以使用
选项从数据文件导入标识值。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- bcp 实用工具