葡京网投哪个正规 > 新葡亰-编程 > 基本语法,实用工具葡京网投哪个正规

原标题:基本语法,实用工具葡京网投哪个正规

浏览次数:135 时间:2020-03-25

核心提示:bcp 实用工具在 Microsoftreg; SQL Server#8482; 2000 实例和数据文件之间以用户指定的格式复数据

bcp是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。bcp可以将数据库的表或视图直接导出,也能通过SELECT FROM语句对表或视图进行过滤后导出。在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中。下面将详细讨论如何利用bcp导入导出数据。 1. bcp的主要参数介绍 bcp共有四个动作可以选择。 (1) 导入。 这个动作使用in命令完成,后面跟需要导入的文件名。 (2) 导出。 这个动作使用out命令完成,后面跟需要导出的文件名。 (3) 使用SQL语句导出。 这个动作使用queryout命令完成,它跟out类似,只是数据源不是表或视图名,而是SQL语句。 (4) 导出格式文件。 这个动作使用format命令完成,后而跟格式文件名。 下面介绍一些常用的选项: -f format_file format_file表示格式文件名。这个选项依赖于上述的动作,如果使用的是in或out,format_file表示已经存在的格式文件,如果使用的是format则表示是要生成的格式文件。 -x 这个选项要和-f format_file配合使用,以便生成xml格式的格式文件。 -F first_row 指定从被导出表的哪一行导出,或从被导入文件的哪一行导入。 -L last_row 指定被导出表要导到哪一行结束,或从被导入文件导数据时,导到哪一行结束。 -c 使用char类型做为存储类型,没有前缀且以"t"做为字段分割符,以"n"做为行分割符。 -w 和-c类似,只是当使用Unicode字符集拷贝数据时使用,且以nchar做为存储类型。 -t field_term 指定字符分割符,默认是"t"。 -r row_term 指定行分割符,默认是"n"。 -S server_name[ instance_name] 指定要连接的SQL Server服务器的实例,如果未指定此选项,bcp连接本机的SQL Server默认实例。如果要连接某台机器上的默认实例,只需要指定机器名即可。 -U login_id 指定连接SQL Sever的用户名。 -P password 指定连接SQL Server的用户名密码。 -T 指定bcp使用信任连接登录SQL Server。如果未指定-T,必须指定-U和-P。 -k 指定空列使用null值插入,而不是这列的默认值。 2. 如何使用bcp导出数据 (1) 使用bcp导出整个表或视图。 bcp AdventureWorks.sales.currency out c:currency1.txt -c -U"sa" -P"password" --使用密码连接或bcp AdventureWorks.sales.currency out c:currency1.txt -c -T --使用信任连接 下面是上述命令执行后的输出结果 Starting copy... 105 rows copied. Network packet size (bytes): 4096 Clock Time (ms.) Total : 10 Average : (10500.00 rows per sec.) 下面是currency1.txt的部分内容 AED Emirati Dirham 1998-06-01 00:00:00.000 AFA Afghani 1998-06-01 00:00:00.000 ... ... ... ... ... ... ZWD Zimbabwe Dollar 1998-06-01 00:00:00.000 在使用密码登录时需要将-U后的用户名和-P后的密码加上双引号。 注:bcp除了可以在控制台执行外,还可以通过调用SQL Server的一个系统存储过程xp_cmdshell以SQL语句的方式运行bcp。如上述第一条命令可改写为 EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency out c:currency1.txt -c -U"sa" -P"password"' 执行xp_cmdshell后,返回信息以表的形式输出。为了可以方便地在SQL中执行bcp,下面的命令都使用xp_cmdshell执行bcp命令。 (2) 对要导出的表进行过滤。 bcp不仅可以接受表名或视图名做为参数,也可以接受SQL做为参数。通过SQL语句可以对要导出的表进行过滤,然后导出过滤后的记录。 EXEC master..xp_cmdshell 'bcp "SELECT TOP 20 * FROM AdventureWorks.sales.currency" queryout c:currency2.txt -c -U"sa" -P"password"' bcp还可以通过简单地设置选项对导出的行进行限制。 这条命令使用了两个参数-F 10和-L 13,表示从SE EXEC master..xp_cmdshell 'bcp "SELECT TOP 20 * FROM AdventureWorks.sales.currency" queryout c:currency2.txt -F 10 -L 13 -c -U"sa" -P"password"' LECT TOP 20 * FROM AdventureWorks.sales.currency所查出来的结果中取第10条到13条记录进行导出。3. 如何使用bcp导出格式文件 bcp不仅可以根据表、视图导入导出数据,还可以配合格式文件对导入导出数据进行限制。格式文件以纯文本文件形式存在,分为一般格式和xml格式。用户可以手工编写格式文件,也可以通过bcp命令根据表、视图自动生成格式文件。 EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency format nul -f c:currency_format1.fmt -c -T' 上述命令将currency表的结构生成了一个格式文件currency_format1.fmt,下面是这个格式文件的内容。 9.0 3 1 SQLCHAR 0 6 "t" 1 CurrencyCode SQL_Latin1_General_CP1_CI_AS 2 SQLCHAR 0 100 "t" 2 Name SQL_Latin1_General_CP1_CI_AS 3 SQLCHAR 0 24 "rn" 3 ModifiedDate 这个格式文件记录了这个表的字段类型、长度、字符和行分割符和字段名等信息。 bcp还可以通过-x选项生成xml格式的格式文件。 EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency format nul -f c:currency_format2.fmt -x -c -T' xml格式文件所描述的内容和普通格式文件所描述的内容完全一样,只是格式不同。 4. 如何使用bcp导入数据 bcp可以通过in命令将上面所导出的currency1.txt和currency2.txt再重新导入到数据库中,由于currency有主键,因此我们将复制一个和currency的结构完全一样的表。 SELECT TOP 0 * INTO AdventureWorks.sales.currency1 FROM AdventureWorks.sales.currency 将数据导入到currency1表中 EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency1 in c:currency1.txt -c -T' 导入数据也同样可以使用-F和-L选项来选择导入数据的记录行。 EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency1 in c:currency1.txt -c -F 10 -L 13 -T' 在导入数据时可以根据已经存在的格式文件将满足条件的记录导入到数据库中,不满足则不导入。如上述的格式文件中的第三个字段的字符长度是24,如果某个文本文件中的相应字段的长度超过24,则这条记录将不被导入到数据库中,其它满足条件的记录正常导入。 使用普通的格式文件 EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency1 in c:currency1.txt -F 10 -L 13 -c -f c:currency_format1.fmt -T' 使用xml格式的格式文件 EXEC master..xp_cmdshell 'bcp AdventureWorks.sales.currency1 in c:currency1.txt -F 10 -L 13 -c -x -f c:currency_format2.fmt -T' 总结 bcp命令是SQL Server提供的一个快捷的数据导入导出工具。使用它不需要启动任何图形管理工具就能以高效的方式导入导出数据。当然,它也可以通过xp_cmdshell在SQL语句中执行,通过这种方式可以将其放到客户端程序中运行,这也是使客户端程序具有数据导入导出功能的方法之一。 bcp命令详解(sybase) bcp 实用工具在 Microsoft SQL Server 2000 实例和数据文件之间以用户指定的格式复制数据。 语法 bcp {[[database_name.][owner].]{table_name | view_name} | "query"} {in | out | queryout | format} data_file [-m max_errors] [-f format_file] [-e err_file] [-F first_row] [-L last_row] [-b batch_size] [-n] [-c] [-w] [-N] [-V (60 | 65 | 70)] [-6] [-q] [-C code_page] [-t field_term] [-r row_term] [-i input_file] [-o output_file] [-a packet_size] [-S server_name[instance_name]] [-U login_id] [-P password] [-T] [-v] [-R] [-k] [-E] [-h "hint [,...n]"] 参数 database_name 指定的表或视图所在数据库的名称。如果未指定,则为用户默认数据库。 owner 表或视图所有者的名称。如果执行大容量复制操作的用户拥有指定的表或视图,则 owner 是可选的。如果没有指定 owner 并且执行大容量复制操作的用户不拥有指定的表或视图,则 Microsoft? SQL Server? 2000 将返回错误信息并取消大容量复制操作。 table_name 是将数据复制到 SQL Server 时 (in) 的目的表名,以及从 SQL Server 复制数据时 (out) 的源表名。 view_name 是将数据复制到 SQL Server 时 (in) 的目的视图名,以及从 SQL Server 复制数据时 (out) 的源视图名。只有其中所有列都引用同一个表的视图才能用作目的视图。有关将数据复制到视图的限制的更多信息,请参见 INSERT。 Query 是返回一个结果集的 Transact-SQL 查询。如果查询返回多个结果集,例如指定 COMPUTE 子句的 SELECT 语句,只有第一个结果集将复制到数据文件,随后的结果集被忽略。使用双引号引起查询语句,使用单引号引起查询语句中嵌入的任何内容。在从查询中大容量复制数据时,还必须指定 queryout。 in | out | queryout | format 指定大容量复制的方向。in 是从文件复制到数据库表或视图,out 是指从数据库表或视图复制到文件。只有从查询中大容量复制数据时,才必须指定 queryout。根据指定的选项以及表或视图分隔符,format 将创建一个格式文件。如果使用 format,则还必须指定 -f 选项。 说明 Microsoft SQL Server 6.5 中的 bcp 实用工具不支持大容量复制到包含 sql_variant 或 bigint 数据类型的表。 data_file 大容量复制表或视图到磁盘时所用数据文件的完整路径。当将数据大容量复制到 SQL Server 时,此数据文件包含将复制到指定表或视图的数据。当从 SQL Server 大容量复制数据时,该数据文件包含从表或视图复制的数据。路径可以有 1 到 255 个字符。 -m max_errors 指定在大容量复制操作取消之前可能产生的错误的最大数目。bcp 无法复制的每一行都将被忽略并计为一个错误。如果没有包括该选项,则默认为 10。 -f format_file 指定格式文件的完整路径,该格式文件包含以前在同一个表或视图上使用 bcp 时的存储响应。当使用由 format 选项所创建的格式文件大容量复制入或复制出数据时,使用此选项。格式文件的创建是可选的。在提示几个格式问题之后,bcp 将提示是否在格式文件中保存回答。默认文件名为 Bcp.fmt。大容量复制数据时,bcp 可引用一个格式文件,因此不必重新交互输入以前的回答。如果未使用此选项,也没有指定 –n、-c、-w、-6 或 -N,则 bcp 将提示输入格式信息。 -e err_file 指定错误文件的完整路径,此错误文件用于存储 bcp 无法从文件传输到数据库的所有行。来自 bcp 的错误信息将发送到用户工作站。如果未使用此选项,则不创建错误文件。 -F first_row 指定要大容量复制的第一行的序数。默认值是 1,表示在指定数据文件的第一行。 -L last_row 指定要大容量复制的最后一行的序数。默认值是 0,表示指定数据文件中的最后一行。 -b batch_size 指定所复制的每批数据中的行数。每个批处理作为一个事务复制至服务器。SQL Server 提交或回滚每个批处理的事务。默认情况下,指定的数据文件中的所有数据都作为一批复制。请不要与 -h "ROWS_PER_BATCH = bb" 选项一起使用。 -n 使用数据的本机数据类型执行大容量复制操作。此选项不提示输入每一字段,它将使用本机值。 -c 使用字符数据类型执行大容量复制操作。此选项不提示输入每一字段;它使用 char 作为存储类型,不带前缀,t作为字段分隔符,n作为行终止符。 -w 使用 Unicode 字符执行大容量复制操作。此选项不提示输入每一字段;它使用 nchar 作为存储类型,不带前缀,t作为字段分隔符,n作为行终止符。不能在 SQL Server 6.5 版或更早版本中使用。 -N 对非字符数据使用数据的本机数据类型和对字符数据使用 Unicode 字符类型执行大容量复制操作。这是可替代 -w 选项的性能更高的选项,其目的是使用数据文件将数据从一个 SQL Server 传输到另一个 SQL Server 中。它不提示输入每一字段。在需要传输包含 ANSI 扩展字符的数据以及想利用本机模式的性能时,可以使用这一选项。不能在 SQL Server 6.5 版或更早版本中使用 -N 选项。 -V (60 | 65 | 70) 使用 SQL Server 早期版本中的数据类型执行大容量复制操作。此选项与字符 (-c) 或本机 (-n) 格式一起使用。此选项并不提示输入每一字段,它使用默认值。例如,若要将 SQL Server 6.5 中的 bcp 实用工具所支持的日期格式大容量复制到 SQL Server 2000,可使用 -V 65 参数。 重要 将数据从 SQL Server 大容量复制到数据文件时,即使指定了 –V,bcp 实用工具也不会为任何 datetime 或 smalldatetime 数据生成 SQL Server 6.0 或 SQL Server 6.5 的日期格式。日期将始终以 ODBC 格式写入。另外,由于 SQL Server 6.5 版或更早版本不支持可为空的 bit 数据,因此 bit 列中的空值写为值 0。 -6 使用 SQL Server 6.0 或 SQL Server 6.5 数据类型执行大容量复制操作。仅为保持向后兼容性。改为使用 –V 选项。 -q 在 bcp 实用工具和 SQL Server 实例的连接中执行 SET QUOTED_IDENTIFIERS ON 语句。使用该选项指定包含空格或引号的数据库、所有者、表或视图的名称。将由三部分组成的整个表名或视图名引在双引号 (" ") 中。 -C code_page 仅为保持向后兼容性。作为代替,请在格式文件或交互式 bcp 中为每一列指定一个排序规则名。 指定数据文件中的数据代码页。只有当数据中包含字符值大于 127 或小于 32 的 char、varchar 或 text 列时,code_page 才有用。 代码页值 描述 ACP ANSI/Microsoft Windows? (ISO 1252)。 OEM 客户程序使用的默认代码页。如果未指定 -C,则这是 bcp 使用的默认代码页。 RAW 不发生从一个代码页到另一个代码页的转换。因为不发生转换,所以这是最快的选项。 值 特定的代码页号码,例如 850。 -t field_term 指定字段终止符。默认的字段终止符是 t。使用此参数替代默认字段终止符。 -r row_term 指定行终止符。默认的行终止符是 n。使用此参数替代默认行终止符。 -i input_file 指定响应文件的名称,使用交互模式执行大容量复制时,响应文件包含对每一字段命令提示问题的响应。 -o output_file 指定接收 bcp 输出的文件的名称。 -a packet_size 指定发送到和发送自服务器的每个网络数据包的字节数。可以使用 SQL Server 企业管理器设置服务器配置选项。但是,使用此选项可以单个地替代服务器配置选项。packet_size 可以设置为 4096 到 65535 字节,默认值为 4096。 数据包大小的增加能够提高大容量复制操作的性能。如果要求一个较大的数据包而得不到,则使用默认设置。bcp 生成的性能统计显示出所使用数据包的大小。 -S server_name[instance_name] 指定要连接到的 SQL Server 实例。指定 server_name 以连接该服务器上的 SQL Server 默认实例。指定 server_nameinstance_name 以连接到该服务器上的 SQL Server 2000 命名实例。如果未指定服务器,则 bcp 连接到本地计算机上的 SQL Server 默认实例。从网络上的远程计算机执行 bcp 时,要求此选项。 -U login_id 指定用于连接到 SQL Server 的登录 ID。 -P password 指定登录 ID 的密码。如果未使用此选项,则 bcp 将提示输入密码。如果不带密码将此选项用于命令提示行末尾,则 bcp 将使用默认密码 (NULL)。 -T 指定 bcp 使用网络用户的安全凭据,通过信任连接连接到 SQL Server。不需要 login_id 和 password。 -v 报告 bcp 实用工具的版本号和版权。 -R 指定使用为客户端计算机的区域设置定义的区域格式,将货币、日期和时间数据大容量复制到 SQL Server 中。默认情况下,将会忽略区域设置。 -k 指定在大容量复制操作中空列应保留一个空值,而不是对插入的列赋予默认值。bcp 的一般用法 用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件 [-m 最大错误数] [-f 格式化文件] [-e 错误文件] [-F 首行] [-L 末行] [-b 批大小] [-n 本机类型] [-c 字符类型] [-w 宽字符类型] [-N 将非文本保持为本机类型] [-V 文件格式版本] [-q 带引号的标识符] [-C 代码页说明符] [-t 字段终止符] [-r 行终止符] [-i 输入文件] [-o 输出文件] [-a 数据包大小] [-S 服务器名称] [-U 用户名] [-P 密码] [-T 可信连接] [-v 版本] [-R 允许使用区域设置] [-k 保留空值] [-E 保留标识值] [-h"加载提示"] [-x 生成xml 格式化文件] 导入csv格式文件 Exec master..xp_cmdshell 'bcp "SSIS.dbo.tb2" in "E:export.csv" -c -t"," -r"n" -T' 导出成csv Exec master..xp_cmdshell 'bcp "SSIS.dbo.tb2" out "E:test.csv" -c -t"," -r"n" -T' 将特定查询导出成默认格式 默认以制表符间隔,"n"换行 Exec master..xp_cmdshell 'bcp "select carbrand,longitude from ssis.dbo.tb2" queryout "E:test2.txt" -c -T' 其他情况参考: 启用xp_cmdshell EXEC sp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'xp_cmdshell', 1 GO RECONFIGURE GO

copy from:

语法

bcp {[[database_name.][owner].]{table_name | view_name}| "query"}
    {in | out | queryout | format}data_file
    [-m max_errors] [-f format_file] [-e err_file]    [-F first_row] [-L last_row] [-b batch_size]    [-n] [-c] [-w] [-N] [-V (60 | 65 | 70)] [-6]    [-q] [-C code_page] [-t field_term] [-r row_term]    [-i input_file] [-o output_file] [-a packet_size]    [-S server_name[instance_name]] [-U login_id] [-P password]    [-T] [-v] [-R] [-k] [-E] [-h "hint [,...n]"]

`` 

参数

database_name

指定的表或视图所在数据库的名称。如果未指定,则为用户默认数据库。

owner

表或视图所有者的名称。如果执行大容量复制操作的用户拥有指定的表或视图,则 owner 是可选的。如果没有指定 owner 并且执行大容量复制操作的用户不拥有指定的表或视图,则 Microsoft? SQL Server? 2000 将返回错误信息并取消大容量复制操作。

table_name

是将数据复制到 SQL Server 时 (in) 的目的表名,以及从 SQL Server 复制数据时 (out) 的源表名。

view_name

是将数据复制到 SQL Server 时 (in) 的目的视图名,以及从 SQL Server 复制数据时 (out) 的源视图名。只有其中所有列都引用同一个表的视图才能用作目的视图。有关将数据复制到视图的限制的更多信息,请参见 INSERT)。

Query

是返回一个结果集的 Transact-SQL 查询。如果查询返回多个结果集,例如指定 COMPUTE 子句的 SELECT 语句,只有第一个结果集将复制到数据文件,随后的结果集被忽略。使用双引号引起查询语句,使用单引号引起查询语句中嵌入的任何内容。在从查询中大容量复制数据时,还必须指定 queryout

in | out | queryout | format

指定大容量复制的方向。in 是从文件复制到数据库表或视图,out 是指从数据库表或视图复制到文件。只有从查询中大容量复制数据时,才必须指定 queryout。根据指定的选项(-n葡京网投哪个正规,-c-w-6-N)以及表或视图分隔符,format 将创建一个格式文件。如果使用 format,则还必须指定 -f 选项。

葡京正网网投 1

说明  Microsoft SQL Server 6.5 中的 bcp 实用工具不支持大容量复制到包含 sql_variantbigint 数据类型的表。

data_file

大容量复制表或视图到磁盘(或者从磁盘复制)时所用数据文件的完整路径。当将数据大容量复制到 SQL Server 时,此数据文件包含将复制到指定表或视图的数据。当从 SQL Server 大容量复制数据时,该数据文件包含从表或视图复制的数据。路径可以有 1 到 255 个字符。

-m max_errors

指定在大容量复制操作取消之前可能产生的错误的最大数目。bcp 无法复制的每一行都将被忽略并计为一个错误。如果没有包括该选项,则默认为 10。

方法-:用BCP命令

bcp [database_name.] schema.{table_name | view_name | "query" {in data_file | out data_file | queryout data_file | format nul}

bcp 实用工具

   [-a packet_size]
   [-b batch_size]
   [-c]
   [-C { ACP | OEM | RAW | code_page } ]
   [-d database_name]
   [-e err_file]
   [-E]
   [-f format_file]
   [-F first_row]
   [-h"hint [,...n]"] 
   [-i input_file]
   [-k]
   [-K application_intent]
   [-L last_row]
   [-m max_errors]
   [-n]
   [-N]
   [-o output_file]
   [-P password]
   [-q]
   [-r row_term]
   [-R]
   [-S [server_name[instance_name]]
   [-t field_term]
   [-T]
   [-U login_id]
   [-v]
   [-V (80 | 90 | 100 )]
   [-w]
   [-x]
   /?
data_file 
数据文件的完整路径。 将数据大容量导入 SQL Server 时,数据文件将包含要复制到指定的表或视图中的数据。 从 SQL Server 中大容量导出数据时,数据文件将包含从表或视图中复制的数据。 路径可以有 1 到 255 个字符。 数据文件最多可包含 263 - 1 行。

bcp 实用工具在 Microsoftreg; SQL Server™ 2000 实例和数据文件之间以用户指定的格式复数据。

database_name 
指定的表或视图所在数据库的名称。 如果未指定,则使用用户的默认数据库。

语法

也可以使用 d- 显式指定数据库名称。

代码: bcp {[[database_name.][owner].]{table_name | view_name} | query} {in | out | queryout | format} data_file [-m max_errors] [-f format_file] [-e err_file] [-F first_row] [-L last_row] [-b batch_size] [-n] [-c] [-w] [-N] [-V (60 | 65 | 70)] [-6] [-q] [-C code_page] [-t field_term] [-r row_term] [-i input_file] [-o output_file] [-a packet_size] [-S server_name[instance_name]] [-U login_id] [-P password] [-T] [-v] [-R] [-k] [-E] [-h hint [,...n]] 参数database_name

in data_file | outdata_file | queryoutdata_file | format nul 
指定大容量复制的方向,具体如下:

指定的表或视图所在数据库的名称。如果未指定,则为用户默认数据库。

•in 从文件复制到数据库表或视图。

owner

•out 从数据库表或视图复制到文件。 如果指定了现有文件,则该文件将被覆盖。 提取数据时,请注意 bcp 实用工具将空字符串表示为 null,而将 null 字符串表示为空字符串。

表或视图所有者的名称。如果执行大容量复制操作的用户拥有指定的表或视图,则 owner 是可选的。如果没有指定 owner 并且执行大容量复制操作的用户不拥有指定的表或视图,则 Microsoftreg; SQL Server™ 2000 将返回错误信息并取消大容量复制操作。

•queryout 从查询中复制,仅当从查询大容量复制数据时才必须指定此选项。

table_name

•format 根据指定的选项(-n、-c、-w 或 -N)以及表或视图的分隔符创建格式化文件。 大容量复制数据时,bcp 命令可以引用一个格式化文件,从而避免以交互方式重复输入格式信息。 format 选项要求指定 -f 选项;创建 XML 格式化文件时还需要指定 -x 选项。 有关详细信息,请参阅创建格式化文件 (SQL Server)。 您必须指定 nul 作为值 (format nul)。

是将数据复制到 SQL Server 时 (in) 的目的表名,以及从 SQL Server 复制数据时 (out) 的源表名。

owner 
表或视图的所有者的名称。 如果执行该操作的用户拥有指定的表或视图,则 owner 是可选的。 如果未指定 owner,并且执行该操作的用户不是指定的表或视图的所有者,则 SQL Server 将返回错误消息,而且该操作将取消。

view_name

" query " 
一个返回结果集的 Transact-SQL 查询。 如果该查询返回多个结果集,则只将第一个结果集复制到数据文件,而忽略其余的结果集。 将查询用双引号括起来,将查询中嵌入的任何内容用单引号括起来。 从查询大容量复制数据时,也必须指定 queryout。

是将数据复制到 SQL Server 时 (in) 的目的视图名,以及从 SQL Server 复制数据时 (out) 的源视图名。只有其中所有列都引用同一个表的视图才能用作目的视图。有关将数据复制到视图的限制的更多信息,请参见 INSERT。

只要在执行 bcp 语句之前存储过程内引用的所有表均存在,查询就可以引用该存储过程。 例如,如果存储过程生成一个临时表,则 bcp 语句便会失败,因为该临时表只在运行时可用,而在语句执行时不可用。 在这种情况下,应考虑将存储过程的结果插入表中,然后使用 bcp 将数据从表复制到数据文件中。

Query

table_name 
将数据导入 SQL Server (in) 时为目标表名称,将数据从 SQL Server (out) 导出时为源表名称。

是返回一个结果集的 Transact-SQL 查询。如果查询返回多个结果集,例如指定 COMPUTE 子句的 SELECT 语句,只有第一个结果集将复制到数据文件,随后的结果集被忽略。使用双引号引起查询语句,使用单引号引起查询语句中嵌入的任何内容。在从查询中大容量复制数据时,还必须指定 queryout。

view_name 
将数据复制到 SQL Server (in) 时为目标视图名称,从 SQL Server (out) 中复制数据时为源视图名称。 只有其中所有列都引用同一个表的视图才能用作目标视图。 有关将数据复制到视图的限制的详细信息,请参阅 INSERT (Transact-SQL)。

in | out | queryout | format

-a packet_size 
指定服务器发出或接收的每个网络数据包的字节数。 可以使用 SQL Server Management Studio(或 sp_configure 系统存储过程)来设置服务器配置选项。 但是,可以使用此选项逐个替代服务器配置选项。 packet_size 的取值范围为 4096 到 65535 字节,默认为 4096 字节。

指定大容量复制的方向。in 是从文件复制到数据库表或视图,out 是指从数据库表或视图复制到文件。只有从查询中大容量复制数据时,才必须指定 queryout。根据指定的选项以及表或视图分隔符,format 将创建一个格式文件。如果使用 format,则还必须指定 -f 选项。

增大数据包可以提高大容量复制操作的性能。 如果无法得到请求的较大数据包,则使用默认值。 bcp 实用工具生成的性能统计信息可以显示所用的数据包大小。

说明 Microsoft SQL Server 6.5 中的 bcp 实用工具不支持大容量复制到包含 sql_variant 或 bigint 数据类型的表。

-b batch_size 
指定每批导入数据的行数。 每个批次均作为一个单独的事务进行导入并记录,在提交之前会导入整批。 默认情况下,数据文件中的所有行均作为一个批次导入。 若要将行分为多个批次进行操作,请指定小于数据文件中的行数的 batch_size。 如果任何批次的事务失败,则将只回滚当前批次中的插入。 已经由已提交事务导入的批次不会受到将来失败的影响。

data_file

不要将此选项与 -h"ROWS_PER_BATCH =bb" 选项一起使用。

大容量复制表或视图到磁盘时所用数据文件的完整路径。当将数据大容量复制到 SQL Server 时,此数据文件包含将复制到指定表或视图的数据。当从 SQL Server 大容量复制数据时,该数据文件包含从表或视图复制的数据。路径可以有 1 到 255 个字符。

-c 
使用字符数据类型执行该操作。 此选项不提示输入每个字段;它使用 char 作为存储类型,不带前缀;使用 t(制表符)作为字段分隔符,使用 rn(换行符)作为行终止符。 -c 与 -w 不兼容。

-m max_errors

有关详细信息,请参阅使用字符格式导入或导出数据 (SQL Server)。

指定在大容量复制操作取消之前可能产生的错误的最大数目。bcp 无法复制的每一行都将被忽略并计为一个错误。如果没有包括该选项,则默认为 10。

-C { ACP | OEM | RAW | code_葡京正网网投,page } 
指定该数据文件中数据的代码页。 仅当数据含有字符值大于 127 或小于 32 的 char、varchar 或 text 列时,code_page 才适用。
ACP 
 ANSI/Microsoft Windows (ISO 1252)。 
 
OEM 
 客户端使用的默认代码页。 未指定 -C 时使用的默认代码页。 
 
RAW 
 不进行代码页间的转换。 因为不进行转换,所以这是最快的选项。 
 
code_page 
 特定的代码页编号,例如 850。

-f format_file

 
-d database_name 
指定要连接到的数据库。 默认情况下,bcp.exe 连接到用户的默认数据库。 如果指定了 -ddatabase_name 和包含三部分的名称(database_name.schema.table,作为第一个参数传递给 bcp.exe),则将发生错误,因为您不能两次指定数据库名称。如果 database_name 以连字符 (-) 或正斜杠 (/) 开头,则不要在 -d 和数据库名称之间添加空格。

指定格式文件的完整路径,该格式文件包含以前在同一个表或视图上使用 bcp 时的存储响应。当使用由 format 选项所创建的格式文件大容量复制入或复制出数据时,使用此选项。格式文件的创建是可选的。在提示几个格式问题之后,bcp 将提示是否在格式文件中保存回答。默认文件名为 Bcp.fmt。大容量复制数据时,bcp 可引用一个格式文件,因此不必重新交互输入以前的回答。如果未使用此选项,也没有指定 �n、-c、-w、-6 或 -N,则 bcp 将提示输入格式信息。

-e err_file 
指定错误文件的完整路径,此文件用于存储 bcp 实用工具无法从文件传输到数据库的所有行。 bcp 命令产生的错误消息将被发送到用户的工作站。 如果不使用此选项,则不会创建错误文件。

-e err_file

如果 err_file 以连字符 (-) 或正斜杠 (/) 开头,则不要在 -e 与 err_file 值之间包含空格。

指定错误文件的完整路径,此错误文件用于存储 bcp 无法从文件传输到数据库的所有行。来自 bcp 的错误信息将发送到用户工作站。如果未使用此选项,则不创建错误文件。

-E 
指定导入数据文件中的标识值用于标识列。 如果未指定 -E,则将忽略所导入数据文件中此列的标识值,而且 SQL Server 将根据创建表期间指定的种子值和增量值自动分配唯一值。

-F first_row

如果数据文件不包含表或视图中的标识列的值,则可使用格式化文件指定,在导入数据时应跳过表或视图中的标识列;SQL Server 将自动为该列分配唯一值。 有关详细信息,请参阅 DBCC CHECKIDENT (Transact-SQL)。

指定要大容量复制的第一行的序数。默认值是 1,表示在指定数据文件的第一行。 -L last_row

-E 选项有一个特殊的权限要求。 有关详细信息,请参阅本主题后面的“备注”。

指定要大容量复制的最后一行的序数。默认值是 0,表示指定数据文件中的最后一行。

-f format_file 
指定格式化文件的完整路径。 此选项的含义取决于使用它的环境,具体如下:

-b batch_size

•如果 -f 与 format 选项一起使用,则将为指定的表或视图创建指定的 format_file。 若要创建 XML 格式化文件,请同时指定 -x 选项。 有关详细信息,请参阅创建格式化文件 (SQL Server)。

指定所复制的每批数据中的行数。每个批处理作为一个事务复制至服务器。SQL Server 提交或回滚每个批处理的事务。默认情况下,指定的数据文件中的所有数据都作为一批复制。请不要与 -h ROWS_PER_BATCH = bb 选项一起使用。

•如果与 in 或 out 选项一起使用,则 -f 需要一个现有的格式化文件。

-n

-F first_row 
指定要从表中导出或从数据文件导入的第一行的编号。 此参数的值应大于 (>) 0,小于 (<) 或等于 (=) 总行数。 如果未指定此参数,则默认为文件的第一行。

使用数据的本机数据类型执行大容量复制操作。此选项不提示输入每一字段,它将使用本机值。

first_row 可以是一个最大为 2^63-1 的正整数值。 -F first_row 从 1 开始。

-c

-h " hint[ ,...n] " 
指定向表或视图中大容量导入数据时要用到的提示。

使用字符数据类型执行大容量复制操作。此选项不提示输入每一字段;它使用 char 作为存储类型,不带前缀,作为字段分隔符,作为行终止符。

ORDER(column[ASC | DESC] [,...n]) 
数据文件中的数据排序次序。 如果根据表中的聚集索引(如果有)对要导入的数据排序,则将提高大容量导入的性能。 如果数据文件以不同的次序(即不同于聚集索引键的次序)排序,或者表中不存在任何聚集索引,则将忽略 ORDER 子句。 提供的列名必须是目标表中有效的列名。 默认情况下,bcp 假定数据文件没有排序。 对于经过优化的大容量导入,SQL Server 还将验证导入的数据是否已排序。

-w

ROWS_PER_BATCH =bb 
每批数据的行数(即 bb)。 在未指定 -b 时使用,这将导致整个数据文件作为单个事务发送到服务器。 服务器根据 bb 值优化大容量加载。 默认情况下,ROWS_PER_BATCH 未知。

使用 Unicode 字符执行大容量复制操作。此选项不提示输入每一字段;它使用 nchar 作为存储类型,不带前缀,作为字段分隔符,作为行终止符。不能在 SQL Server 6.5 版或更早版本中使用。

KILOBYTES_PER_BATCH = cc 
每批数据以千字节计算的近似值(即 cc)。 默认情况下,KILOBYTES_PER_BATCH 未知。

-N

TABLOCK 
指定在大容量加载操作期间获取大容量更新表级别的锁;否则,获取行级别的锁。 由于在大容量复制操作期间拥有锁可以减少表中的锁争夺,所以此提示可显著提高性能。 如果表没有索引并且指定了 TABLOCK,则该表可以同时由多个客户端加载。 默认情况下,锁定行为由表选项 table lock on bulk load 确定。

对非字符数据使用数据的本机数据类型和对字符数据使用 Unicode 字符类型执行大容量复制操作。这是可替代 -w 选项的性能更高的选项,其目的是使用数据文件将数据从一个 SQL Server 传输到另一个 SQL Server 中。它不提示输入每一字段。在需要传输包含 ANSI 扩展字符的数据以及想利用本机模式的性能时,可以使用这一选项。不能在 SQL Server 6.5 版或更早版本中使用 -N 选项。

CHECK_CONSTRAINTS 
指定在大容量导入操作期间,必须检查针对目标表或视图的所有约束。 如果没有 CHECK_CONSTRAINTS 提示,则忽略所有 CHECK 和 FOREIGN KEY 约束;操作完成后,对表的约束将被标记为不可信。

-V (60 | 65 | 70)

FIRE_TRIGGERS 
与 in 参数一同指定,在目标表中定义的任何插入触发器都将在大容量复制操作期间运行。 如果未指定 FIRE_TRIGGERS,将不运行任何插入触发器。 对于 out、queryout 和 format 参数,将忽略 FIRE_TRIGGERS。

使用 SQL Server 早期版本中的数据类型执行大容量复制操作。此选项与字符 (-c) 或本机 (-n) 格式一起使用。此选项并不提示输入每一字段,它使用默认值。例如,若要将 SQL Server 6.5 中的 bcp 实用工具所支持的日期格式大容量复制到 SQL Server 2000,可使用 -V 65 参数。

-i input_file 
指定响应文件的名称,其中包含在交互模式(未指定 -n、-c、-w 或 -N)下执行大容量复制时,对该命令要求输入每个数据字段的提示信息所作出的响应。

重要 将数据从 SQL Server 大容量复制到数据文件时,即使指定了 �V,bcp 实用工具也不会为任何 datetime 或 smalldatetime 数据生成 SQL Server 6.0 或 SQL Server 6.5 的日期格式。日期将始终以 ODBC 格式写入。另外,由于 SQL Server 6.5 版或更早版本不支持可为空的 bit 数据,因此 bit 列中的空值写为值 0。

如果 input_file 以连字符 (-) 或正斜杠 (/) 开头,则不要在 -i 与 input_file 值之间包含空格。

-6

-k 
指定在操作过程中空列应该保留 null 值,而不是所插入列的任何默认值。 有关详细信息,请参阅在大容量导入期间保留 Null 或使用默认值 (SQL Server)。

使用 SQL Server 6.0 或 SQL Server 6.5 数据类型执行大容量复制操作。仅为保持向后兼容性。改为使用 �V 选项。

-K application_intent 
连接到服务器时声明应用程序工作负荷类型。 唯一可能的值是 ReadOnly。 如果未指定 -K,bcp 实用工具将不支持连接到 AlwaysOn 可用性组中的辅助副本。 有关详细信息,请参阅活动辅助副本:可读辅助副本(AlwaysOn 可用性组)。

-q

-L last_row 
指定要从表中导出或从数据文件中导入的最后一行的编号。 此参数的值应大于 (>) 0,小于 (<) 或等于 (=) 最后一行的编号。 如果未指定此参数,则默认为文件的最后一行。

在 bcp 实用工具和 SQL Server 实例的连接中执行 SET QUOTED_IDENTIFIERS ON 语句。使用该选项指定包含空格或引号的数据库、所有者、表或视图的名称。将由三部分组成的整个表名或视图名引在双引号 ( ) 中。

last_row 可以是一个最大为 2^63-1 的正整数值。

-C code_page

-m max_errors 
指定取消 bcp 操作之前可能出现的语法错误的最大数目。 语法错误是指将数据转换为目标数据类型时的错误。 max_errors 总数不包括只能在服务器中检测到的错误,如违反约束。

仅为保持向后兼容性。作为代替,请在格式文件或交互式 bcp 中为每一列指定一个排序规则名。

无法由 bcp 实用工具复制的行将被忽略,并计为一个错误。 如果未包括此选项,则默认值为 10。

指定数据文件中的数据代码页。只有当数据中包含字符值大于 127 或小于 32 的 char、varchar 或 text 列时,code_page 才有用。

-n 
使用数据的本机(数据库)数据类型执行大容量复制操作。 此选项不提示输入每个字段,它将使用本机值。

代码页值 描述

有关详细信息,请参阅使用本机格式导入或导出数据 (SQL Server)。

ACP ANSI/Microsoft Windowsreg; (ISO 1252)。

-N 
执行大容量复制操作时,对非字符数据使用本机(数据库)数据类型的数据,对字符数据使用 Unicode 字符。 此选项是 -w 选项的一个替代选项,并具有更高的性能。此选项主要用于通过数据文件将数据从一个 SQL Server 实例传送到另一个实例。 此选项不提示输入每个字段。 如果要传送包含 ANSI 扩展字符的数据,并希望利用本机模式的性能优势,则可使用此选项。

OEM 客户程序使用的默认代码页。如果未指定 -C,则这是 bcp 使用的默认代码页。

有关详细信息,请参阅使用 Unicode 本机格式导入或导出数据 (SQL Server)。

RAW 不发生从一个代码页到另一个代码页的转换。因为不发生转换,所以这是最快的选项。

如果您通过将 bcp.exe 与 -N 一起使用来导出数据后又将数据导入到同一表架构中,则在存在固定长度的非 Unicode 字符列(例如 char(10))的情况下,系统可能会显示截断警告。

值 特定的代码页号码,例如 850。

可忽略该警告。 解决此警告的一个方法是使用 -n 来替代 -N。

-t field_term

-o output_file 
指定文件名称,该文件用于接收从命令提示符重定向来的输出。

指定字段终止符。默认的字段终止符是 。使用此参数替代默认字段终止符。

如果 output_file 以连字符 (-) 或正斜杠 (/) 开头,则不要在 -o 与 output_file 值之间包含空格。

-r row_term

-P password 
指定登录 ID 的密码。 如果未使用此选项,bcp 命令将提示输入密码。 如果在命令提示符的末尾使用此选项,但不提供密码,则 bcp 将使用默认密码 (NULL)。

指定行终止符。默认的行终止符是 。使用此参数替代默认行终止符。

-q 
在 bcp 实用工具和 SQL Server 实例之间的连接中,执行 SET QUOTED_IDENTIFIERS ON 语句。 使用此选项可以指定包含空格或单引号的数据库、所有者、表或视图的名称。 将由三部分组成的整个表名或视图名用英文双引号 ("") 引起来。

-i input_file

若要指定包含空格或单引号的数据库名称,必须使用 –q 选项。

指定响应文件的名称,使用交互模式执行大容量复制时,响应文件包含对每一字段命令提示问题的响应。

-q 不适用于传递到 -d 的值。

-o output_file

有关详细信息,请参阅本主题后面的“备注”。

指定接收 bcp 输出的文件的名称。

-r row_term 
指定行终止符。 默认的行终止符是 n(换行符)。 使用此参数可替代默认行终止符。 有关详细信息,请参阅指定字段终止符和行终止符 (SQL Server)。

-a packet_size

如果您在 bcp.exe 命令中以十六进制表示法指定行终止符,则该值将在 0x00 处截断。 例如,如果您指定 0x410041,则将使用 0x41。

指定发送到和发送自服务器的每个网络数据包的字节数。可以使用 SQL Server 企业管理器设置服务器配置选项。但是,使用此选项可以单个地替代服务器配置选项。packet_size 可以设置为 4096 到 65535 字节,默认值为 4096。

如果 row_term 以连字符 (-) 或正斜杠 (/) 开头,则不要在 -r 与 row_term 值之间包含空格。

数据包大小的增加能够提高大容量复制操作的性能。如果要求一个较大的数据包而得不到,则使用默认设置。bcp 生成的性能统计显示出所使用数据包的大小。

-R 
指定使用客户端计算机区域设置中定义的区域格式,将货币、日期和时间数据大容量复制到 SQL Server 中。 默认情况下,将忽略区域设置。

-S server_name[instance_name]

-S server_name[ instance_name] 
指定要连接的 SQL Server 实例。 如果未指定服务器,则 bcp 实用工具将连接到本地计算机上的默认 SQL Server 实例。 如果从网络或本地命名实例上的远程计算机中运行 bcp 命令,则必须使用此选项。 若要连接到服务器上的 SQL Server 默认实例,请仅指定 server_name。 若要连接到 SQL Server 的命名实例,请指定 server_nameinstance_name。

指定要连接到的 SQL Server 实例。指定 server_name 以连接该服务器上的 SQL Server 默认实例。指定 server_nameinstance_name 以连接到该服务器上的 SQL Server 2000 命名实例。如果未指定服务器,则 bcp 连接到本地计算机上的 SQL Server 默认实例。从网络上的远程计算机执行 bcp 时,要求此选项。

-t field_term 
指定字段终止符。 默认的字段终止符是 t(制表符)。 使用此参数可以替代默认字段终止符。 有关详细信息,请参阅指定字段终止符和行终止符 (SQL Server)。

-U login_id

如果您在 bcp.exe 命令中以十六进制表示法指定字段终止符,则该值将在 0x00 处截断。 例如,如果您指定 0x410041,则将使用 0x41。

指定用于连接到 SQL Server 的登录 ID。

如果 field_term 以连字符 (-) 或正斜杠 (/) 开头,则不要在 -t 与 field_term 值之间包含空格。

-P password

-T 
指定 bcp 实用工具通过使用集成安全性的可信连接连接到 SQL Server。 不需要网络用户的安全凭据、login_id 和 password。 如果未指定 –T,则需要指定 –U 和 –P 才能成功登录。

指定登录 ID 的密码。如果未使用此选项,则 bcp 将提示输入密码。如果不带密码将此选项用于命令提示行末尾,则 bcp 将使用默认密码 (NULL)。

-U login_id 
指定用于连接到 SQL Server 的登录 ID。

-T

-v 
报告 bcp 实用工具的版本号和版权。

指定 bcp 使用网络用户的安全凭据,通过信任连接连接到 SQL Server。不需要 login_id 和 password。

-V (80 | 90 | 100) 
使用 SQL Server 早期版本中的数据类型执行大容量复制操作。 此选项并不提示输入每个字段,它将使用默认值。

-v

80 = SQL Server 2000

报告 bcp 实用工具的版本号和版权。

90 = SQL Server 2005

-R

100 = SQL Server 2008 和 SQL Server 2008 R2

指定使用为客户端计算机的区域设置定义的区域格式,将货币、日期和时间数据大容量复制到 SQL Server 中。默认情况下,将会忽略区域设置。

例如,若要为 SQL Server 2000 不支持、但是在较高版本的 SQL Server 中引入的类型生成数据,请使用 -V80 选项。

-k

有关详细信息,请参阅导入来自早期版本的 SQL Server 的本机格式数据和字符格式数据。

指定在大容量复制操作中空列应保留一个空值,而不是对插入的列赋予默认值

-w 
使用 Unicode 字符执行大容量复制操作。 此选项不提示输入每个字段;它使用 nchar 作为存储类型,不带前缀;使用 t(制表符)作为字段分隔符,使用 n(换行符)作为行终止符。 -w 与 -c 不兼容。

-E

有关详细信息,请参阅使用 Unicode 字符格式导入或导出数据 (SQL Server)。

指定标识列的值出现在要导入的文件中。如果没有给出 -E,则正导入的数据文件中此列的标识值将被忽略,而且 SQL Server 2000 会根据创建表期间指定的种子值和增量值自动指派唯一的值。如果数据文件的表或视图中不包含标识列的值,则使用格式文件指定导入数据时应跳过表或视图中的标识列;SQL Server 2000 将自动为该列指派唯一值。有关详细信息,请参见 DBCC CHECKIDENT。

-x 
与 format 和 -fformat_file 选项一起使用,可以生成基于 XML 的格式化文件,而不是默认的非 XML 格式化文件。 在导入或导出数据时,-x 不起作用。 如果不与 format 和 -fformat_file 一起使用,则将生成错误。

-h hint [,...n]

bcp 脚本失败。   

指定在大容量复制数据到表或视图时所使用的提示。在大容量复制数据到 SQL Server 6.x 或更早版本时,不能使用此选项。

字符模式 (-c) 和本机模式 (-n) 最佳做法

提示 描述


ORDER (column [ASC | DESC] [,...n]) 数据文件中数据的排序次序。如果要装载的数据已根据表中的聚集索引排序,则会提高大容量复制的性能。如果数据文件按不同次序排序,或者该表没有聚集索引,则将忽略 ORDER 提示。所提供的列名必须是目的表中的有效列。默认情况下,bcp 假设数据文件没有排序。

本节提供与字符模式 (-c) 和本机模式 (-n) 有关的一些建议。

ROWS_PER_BATCH = bb 每批中数据的行数。在未指定 -b 时使用,这将使整个数据文件作为单个事务发送到服务器。服务器根据值 bb 优化大容量装载。默认情况下,ROWS_PER_BATCH 未知。

•(管理员/用户)应尽可能使用本机格式 (-n) 以避免分隔符问题。 使用本机格式可以使用 SQL Server 进行导出和导入。 如果数据将导入到非 SQL Server 数据库,则使用 -c 或 -w 选项从 SQL Server 导出数据。

KILOBYTES_PER_BATCH = cc 每批中数据的千字节 (KB) 近似数量。默认情况下,KILOBYTES_PER_BATCH 未知。

•(管理员)在使用 BCP OUT 时验证数据。 例如,在您使用 BCP OUT、BCP IN,然后又使用 BCP OUT 时,请验证数据正确导出,并且终止符值未用作某个数据值的一部分。 请考虑使用随机的十六进制值覆盖默认的终止符(使用 -t 和 -r 选项),以便避免终止符值和数据值之间的冲突。

TABLOCK 大容量复制操作期间将获取表级锁。由于只在大容量复制操作期间才控制锁减少了表中锁的争夺,因此此提示可以显著提高性能。如果表没有索引并且指定了 TABLOCK,则该表可以同时由多个客户端装载。默认情况下,锁定行为是由表选项 table lock on bulk load 决定的。

•(用户)使用长且唯一的终止符(任意字节或字符序列)可以最大程度减少与实际字符串值冲突的可能性。 这可以通过使用 -t 和 -r 选项实现。

CHECK_CONSTRAINTS 大容量复制操作期间,将检查目的表上的所有约束。默认情况下,将会忽略约束。

 

FIRE_TRIGGERS 与 in 参数一起指定,在目的表上定义的任何插入触发器将在大容量复制操作期间执行。如果没有指定 FIRE_TRIGGERS,则不执行插入触发器。对于 out、queryout 和 format 参数,将忽略 FIRE_TRIGGERS。

 

注释

将忽略要导入的数据文件中计算列或 timestamp 列的值,SQL Server 2000 自动赋值。如果数据文件不包含表中的计算列或 timestamp 列的值,可用格式文件指定应在导入数据时跳过表中的计算列和 timestamp 列;SQL Server 将自动为该列赋值。

计算列和 timestamp 列照常会从 SQL Server 大容量复制到一个数据文件。

SQL Server 标识符可以包含诸如嵌入空格和引号等字符。当在命令提示符处指定包含空格或引号的标识符或文件名时,需要将该标识符引在双引号( ) 内。另外,对于包含嵌入空格或引号的所有者、表或视图的名称,可以指定 -q 选项,或者将所有者、表或视图的名称在双引号内用方括号 ([ ]) 括起来。

例如,Northwind 数据库内有表 Janes Orders,该表由用户 Jane Doe 所拥有。若要使用登录 Jane Doe 和密码 go dba 将该表从 Northwind 数据库大容量复制到 Orders.txt 文件,请执行下列命令之一:

代码: bcp Northwind.Jane Doe.Janes Orders out Janes Orders.txt -c -q -UJane Doe -Pgo dba/code]

[code]bcp Northwind.[Jane Doe].[Janes Orders] out Janes Orders.txt -c -UJane Doe -Pgo dba 若要指定包含空格或引号的数据库名称,必须使用 -q 选项。

有关此实用工具位置和运行方式的信息,请参见命令提示实用工具入门。

请参见

在不同排序规则间复制数据

使用 bcp 和 BULK INSERT

并行数据装载

SET QUOTED_IDENTIFIER

sp_tableoption

使用格式文件

方法二:DTS 导入/导出向导

DTS 导入/导出向导

在所有的数据转换服务 (DTS) 工具中,DTS 导入/导出向导为在 OLE DB 数据源之间复制数据提供了最简单的方法。

在连接到源和目的之后,可以选择要导入或导出的数据,并可对要复制的数据应用各种转换。在大多数情况下,可以自动与源数据一起复制主键和外键约束。

说明 可以复制从 SQL 查询中获得的数据。SQL 查询可以包含来自同一数据库或分布式查询中的多个表的联接。作为整个进程的一部分,如果不存在任何表,则 DTS 导入/导出向导会自动为您创建目的表。

可用的数据源

使用 DTS 导入/导出向导,可以连接到下列数据源:

大多数的 OLE DB 和 ODBC 数据源以及用户指定的 OLE DB 数据源。

文本文件。

到一个或多个 Microsoft SQL Server™ 实例的其它连接。

Oracle 和 Informix 数据库。

必须已经安装 Oracle 或 Informix 客户端软件。

Microsoft Excel 电子表格。

Microsoft Access 和 Microsoft FoxProreg; 数据库。

dBase 或 Paradox 数据库。

有关更多信息,请参见 DTS 连接。

转换数据

除复制数据外,还可以用诸如 Microsoft Visual Basicreg; Scripting Edition (VBScript) 或 Microsoft JScriptreg; 之类的 ActiveX 脚本语言转换列级数据。有关更多信息,请参见 DTS 转换、转换数据任务和在 DTS 中使用 ActiveX 脚本。

复制数据库对象

使用 DTS 导入/导出向导,可以转换索引、视图、角色、存储过程和引用完整性约束等数据库对象。有关更多信息,请参见复制 SQL Server 对象任务。

保存 DTS 包

完成 DTS 导入/导出向导之后,可以将连接、转换以及调度信息保存为 DTS 包。可以下列形式保存包:

保存到 SQL Server msdb 数据库。

保存到 SQL Server 2000 Meta Data Services。

保存存为结构化存储文件。

保存为 Visual Basic 文件。

可以立即运行包或调度该包以供今后执行。

有关更多信息,请参见保存 DTS 包和调度 DTS 包的执行。

编辑包

如果使用 DTS 导入/导出向导创建了一个包,然后保存了该包,则可以在 DTS 设计器中编辑这个包。使用 DTS 设计器,可以自定义在 DTS 导入/导出向导中创建的基本包,添加步骤、任务、转换、事件驱动逻辑以及配置工作流。有关更多信息,请参见 DTS 设计器。

本文由葡京网投哪个正规发布于新葡亰-编程,转载请注明出处:基本语法,实用工具葡京网投哪个正规

关键词:

上一篇:判定条件,SQLServer之merge函数用法

下一篇:没有了