• 431.chapter10. working with flat files


    二、Bulk Copy Program:
    1 定义:一个使用大容量复制程度API的命令行工具。它可以执行下列任务
    (1) 将SQL  Server中的数据大容量导出到数据文件中
    (2) 从查询中大容量导出树据
    (3) 将数据文件中的数据大容量导入到SQL Server中
    (4) 生成格式化文件

    2 缺点:
    (1) 不适宜用户对数据进行复杂的转换和验证
    (2)有限的错误处理能力

    3 bcp使用示例
    (1) Copy the SQL Server data to a file
    C:\>bcp DB..Table out sample.txt -S server -T –c
    Starting copy...
    63 rows copied.
    Network packet size (bytes): 4096
    Clock Time (ms.) Total     : 46     Average : (1369.57 rows per sec.)
    (2) Copy the data from file to SQL Server
    C:\>bcp DB..XmlTransfer in XT.txt -S server-T –c
    Starting copy...
    3 rows copied.
    Network packet size (bytes): 4096
    Clock Time (ms.) Total     : 93     Average : (32.26 rows per sec.)
    (3) Copy the SQL Server data to a file, specify the coloumns
    C:\>bcp "select field from db..table" queryout sample.txt
     -S server -T -c
    Starting copy...
    63 rows copied.
    Network packet size (bytes): 4096
    Clock Time (ms.) Total     : 15     Average : (4200.00 rows per sec.)
    (4) Create format xml file
    C:\>bcp db..table format null -S server-T -c -x -f sample.xml

     4. 几个常用参数: -t,  -r,  -f

     5.  特别介绍-h参数
    (1)使用的范围:当导入数据时候有效,可以提高性能减少日志记录
    (2)TABLOCK: 使用table lock在导入数据的时候
    (3)ORDER:说明源数据按照某个字段进行排序。如果这个字段时数据库中表的粗索引一致,将有助于在导入的过程中提高性能,否则此参数在执行过程中将被忽略


    三、BULK INSERT
    1 bcp vs bulk BULK INSERT
    (1) BULK INSERT仅能用来导入数据, bcp可以导入导出
    (2) BULK INSERT在SQL内部执行,bcp运行在SQL外部,通过ICP来和SQL Server通讯
    (3) 对于bcp的操作建议同样适用于BULK INSERT

    2 三个常用参数的比较
    (1) -t, -r, -F
    (2) FIELDTERMINATOR, ROWTERMINATOR, FIRSTROW

    3 BULK INSERT权限
    (1) 当使用windows验证模式时,通过验证windows账户是否具有对文件的操作权限来判定是否可以执行BULK INSERT
    (2) 当使用mixed验证模式时,如果使用没有与windows账户相匹配的SQL账户,那么将验证SQL Service账户是否对文件的操作具有权限

    4 practise
    bulk insert XmlTransfer from 'C:\sample.txt' with (DataFileType='widechar', ROWTERMINATOR=',')

  • 相关阅读:
    connect: network is unreachable问题的解决
    Linux图形界面与字符界面切换
    Xshell远程连接Linux服务器出错
    demo-placeholder兼容ie8
    Python设计TFTP客户端
    python hashlib、hmac模块
    python time、datetime、random、os、sys模块
    python 字符串和字典
    ssh远程登录时提示access denied
    指针的指针与指针的引用
  • 原文地址:https://www.cnblogs.com/yang_sy/p/1398885.html
Copyright © 2020-2023  润新知