(总结) SQL Server Bulk Insert 批量数据导入

本文介绍了SQL Server中批量导入数据的两种方法:Bulk Insert和OPENROWSET(BULK)函数。通过bcp工具导出格式化文件,然后利用这些文件高效导入数据。示例包括数据文件的生成、导入,以及使用存储过程xp_cmdshell开启和执行bcp命令。
摘要由CSDN通过智能技术生成

From:http://rsljdkt.iteye.com/blog/1147707

SQL Server的Bulk Insert语句可以将本地或远程的数据文件批量导入到数据库中,速度非常的快。远程文件必须共享才行,文件路径须使用通用约定(UNC)名称,即"\\服务器名或IP\共享名\路径\文件名"的形式。

 

* 1. 由于Bulk Insert通常配合格式化文件批量导入数据更方便,所以这里先介绍bcp工具导出格式化文件的方法。

bcp是SQL Server提供的命令行实用工具提供了数据的导出、导入、格式文件导出等功能,导出格式化文件的语法如下:

Sql代码    收藏代码
  1. bcp 数据库名.用户名.表名 format nul -- 这里的nul必须存在,用于不是导出和导入数据的情况下  
  2. -f 输出的格式化文件名 [-x] -c  -- -x参数指定输出的格式文件为xml格式(默认非xml格式); -c参数指定数据存储方式为字符,并默认指定'\t'作为字段间隔符;'\n'作为行间隔符  
  3. [-t 字段间隔符] [-r 行间隔符号]  -- -t与-r参数可选,用于覆盖-c指定的默认间隔符  
  4. -T -- 指定数据库连接可信,即使用Windows身份登录  

* 2. Bulk Insert

 根据格式文件导入数据文件,语法格式如下:

Sql代码    收藏代码
  1. Bulk insert 数据库名.用户名.表名  
  2. from '数据文件路径'  
  3. with  
  4. (  
  5. formatfile = '格式文件路径',  
  6. FirstRow = 2    --指定数据文件中开始的行数,默认是1  
  7. )  

 

* 3. OPENRORWSET(BULK)函数

有时,使用OPENROWSET(BULK)函数可以更灵活地选取想要的字段插入到原表或者其他表中,其语法格式为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值