BCP 导出数据的问题 老是不成功 SQL2005动作可以选择 。
(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还可以通过简单地设置选项对导出的行进行限制 。
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"'
- redis linux安装包 linux下redis包
- mongodb中如何嵌入文档 mongodb嵌入式linux使用
- redis数据库连接不上 redis客户端不能连接
- mongodb安装失败如何彻底删除 mongodb安装出现提示不能被安装
- linuxmongodb启动服务 linux-mongodb
- redis-cli命令不能用 redis函数调用失败
- linux备份工具 linuxmongodb备份命令
- yum-ymysql
- linux安装redis5.0 linux中装redis
- redis smembers数量不能超过多少 redis最多请求数
