zoukankan      html  css  js  c++  java
  • BCP学习(3):BCP导出数据

    1.使用out导出全表数据

    使用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.) 

    在使用密码登录时需要将-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命令。

    :对导出数据的格式要求

    导出数据时,为了方便浏览,需要对数据格式进行一些规范,可以使用参数-t 加上相应的分隔符,如"|"。

    EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency out c:\currency1.txt -c -U"sa" -P"password" -t"|"'
     

    2.使用queryout通过SQL语句查询到相关数据

    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"'

    这条命令使用了两个参数-F 10和-L 13,表示从SELECT TOP 20 * FROM AdventureWorks.sales.currency所查出来的结果中取第10条到13条记录进行导出。

    3.使用bcp导出format文件

    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 "\r\n" 3 ModifiedDate

    这个格式文件记录了这个表的字段(共3个字段)类型、长度、字符和行分割符和字段名等信息。

    BCP还可以通过-x选项生成xml格式的格式文件。

    EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency format nul -f c:\currency_format2.fmt -x -c -T'

    xml格式文件所描述的内容和普通格式文件所描述的内容完全一样,只是格式不同。

     
  • 相关阅读:
    adb(Android Debug Bridge)安装使用教程
    Python3+smtplib+poplib+imaplib实现发送和收取邮件(以qq邮箱为例)
    Python3组播通信编程实现教程(发送者+接收者)
    Python3+ssl实现加密通信
    openssl实现双向认证教程(服务端代码+客户端代码+证书生成)
    VCG(VisualCodeGrepper)安装使用教程
    APP安全防护基本方法(混淆/签名验证/反调试)
    Android Studio打包生成APK教程
    Android Studio向项目添加C/C++原生代码教程
    Android AES加密报错处理:javax.crypto.IllegalBlockSizeException: error:1e00007b:Cipher functions:OPENSSL_internal:WRONG_FINAL_BLOCK_LENGTH
  • 原文地址:https://www.cnblogs.com/phyllis/p/2045241.html
Copyright © 2011-2022 走看看