• SQLServer BCP 导入导出数据


    bcp 实用工具可以在 SQL Server 实例和用户指定格式的数据文件间大容量复制数据。使用 bcp 实用工具可以将大量新行导入 SQL Server 表,或将表数据导入数据文件。除非与 queryout 选项一起使用,否则使用该实用工具不需要了解 Transact-SQL 知识。若要将数据导入表中,必须使用为该表创建的格式文件,或者必须了解表的结构以及对于该表中的列有效的数据类型。

    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值插入,而不是这列的默认值。

    bcp常用操作

    --导出数据到tset1.txt,并指定本地数据库的用户名和密码
    --这里需要注意:指定的数据库必须是完全限定名。
    EXEC master..xp_cmdshell 'BCP "select * from testad.dbo.Test" queryout d:\tset1.txt -c -U"sa" -P"sasasa"'
    --导出数据到tset2.xls,使用-T信任连接 --通过-F 10 -L 13 指定导出的起始行和结束行数
    EXEC master..xp_cmdshell 'BCP "select * from testad.dbo.Test" queryout d:\test2.xls -c -F 10 -L 13 -T"'
    --使用in语句来将数据导入到数据表EXEC master..xp_cmdshell 'BCP te.dbo.Test in D:\test2.xls -c -T'

    总结

    bcp非常高效,可以使用C#结合bcp来导入导出数据,非常快速。

    参考:http://msdn.microsoft.com/zh-cn/library/ms162802.aspx

    本文同步发布在:http://xiaogangblog.com/archives/383

    转自:http://www.cnblogs.com/xiaogangqq123/archive/2011/09/30/2196727.html

    学习收藏

    专注iOS、Android、Java、Golang开发等涉及开发管理相关。 技术博客:http://xiaopin.cnblogs.com
  • 相关阅读:
    每日日报
    HTML相关
    60-Shiro功能扩展(记住我)
    60--Shiro安全框架
    服务器项目部署简单操作
    61--DB项目--修改密码模块设计
    59-SpringAOP --Cache操作(注解)
    58-Spring AOP 异步操作
    58-Spring-AOP事务管理
    Terminal 执行 java 命令
  • 原文地址:https://www.cnblogs.com/xiaopin/p/2813360.html
Copyright © 2020-2023  润新知