您的位置:首页 > 数据库

关于Sqlserver中 BCP命令,实现数据导出功能。

2010-07-03 10:00 531 查看
关于Sqlserver中 BCP命令,实现数据导出功能。

exec master..xp_cmdshell 'bcp "select 账号 ,姓名, 账号 from datat.dbo.个人表 where 单位ID=''1000''" queryout d:/dddt.txt -c -T '

或者

exec master..xp_cmdshell 'bcp "select 账号 ,姓名, 账号 from datat.dbo.个人表 where 单位ID=''1000''" queryout d:/dddt.txt -c -U"sa" -P"mima" '

具体 说明如下:

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对触发器和规则是不强制处理的。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: