笔记整理之 Bulk Insert
之前2篇日志整理了BCP大致的用法,这次整理一下它的兄弟 Bulk Insert 的写法以及和bcp那边的结合的用法。
首先,Bulk Insert 语句要在连接了Sql Server 服务器之后才执行的,和bcp 不一样,bcp 是以命令来执行,而Bulk Insert 相当于一个执行一个操作语句
然后这里列举一下Bulk Insert 的用法,和对应bcp 的参数的对应关系。
bulk insert t4
from 'D:\t3.txt'
with(
DataFileType = 'char' -- DataFileType选项支持 char|native|widechar|widenative 相对应的bcp接口就是 -c|-n|-w|-N
,BatchSize = 1 --BatchSize 相当于bcp里面的 -b 选项,每次交互多少行数据
,FieldTerminator = ' ' --FieldTerminator 相当于bcp 里面的-t选项,标识同一行数据里面的列分割
,RowTerminator = '\r\n' --RowTerminator 相当于bcp里面的 -r 选项,标识不同行数据里面的行分割
,ForMatFile = 'D:\format.xml' --FormatFile 相当于bcp 里面的 -f 选项,使用配置文件进行批量导入数据,将适用以下情况
--(1、文件的列比表的列多 2、列顺序和数据库列顺序不一致 )
,KeepIdentity --KeepIdentity 相当于bcp 里面的 -E 选项,表示保留导入数据的标识列的数据
,KeepNulls --KeepNulls 相当于 bcp 里面的 -k选项,保留导入数据的Null值,不转换成列的默认值
,FirstRow = 2 --FirstRow 相当于 bcp 里面的 -F 选项,表示开始导入的首行
,LastRow = 4 --LastRow 相当于 bcp 里面的 -L 选项,表示导入的尾行
,Check_Constraints --是否检查表中约束,如果没有该选项,那么忽略
,codePage = '850' --相当于bcp 里面的-C 选项
)
如果之前用过bcp 这个应该也没有什么大的问题。
以上with 之后的所有选项其实都可以不填的,如果要填的话,可以参考官网或者我后面的注释。
其中一个比较注意的是formatfile 这个选项,如果导入的文件和目标的表的列顺序或者列数不一致的时候,那么就需要使用formatflie 来告诉数据库数据怎么摆位,如果是想省点事可以先使用bcp 来生成一个格式化文件先,无论是非xm文件还是xml文件都可以支持。生成之后修改对应的项即可。
另外,bcp 里面是没有Check_Constraints 这个选项的,但是BulkInsert 这里可以支持,使用这个选项也可以更好地保证导入数据的数据完整性。
其他的参数和选项,都和bcp里面找到对应的方法,应用也类似。这里也没必要再次重复了~
本次分享到这里
笔记整理之 Bulk Insert的更多相关文章
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- .NET编程和SQL Server ——Sql Server 与CLR集成 (学习笔记整理-1)
原文:.NET编程和SQL Server ——Sql Server 与CLR集成 (学习笔记整理-1) 一.SQL Server 为什么要与CLR集成 1. SQL Server 提供的存储过程.函数 ...
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
- java 笔记整理
在19寒假对java基础进行自学,总结的笔记整理出来 ==================================================== 排序查找 冒泡排序法1.一共会比较数组元 ...
- 【mysql学习笔记整理】
/*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作#创建#数据库的创建USE mysql;CREATE DATABASE db_x;#删除#删除数据库DROP DATABASE ...
- 最全mysql笔记整理
mysql笔记整理 作者:python技术人 博客:https://www.cnblogs.com/lpdeboke Windows服务 -- 启动MySQL net start mysql -- 创 ...
- Bulk Insert:将文本数据(csv和txt)导入到数据库中
将文本数据导入到数据库中的方法有很多,将文本格式(csv和txt)导入到SQL Server中,bulk insert是最简单的实现方法 1,bulk insert命令,经过简化如下 BULK INS ...
- SQL Server Bulk Insert批量数据导入
SQL Server的Bulk Insert语句可以将本地或远程的数据文件批量导入到数据库中,速度非常的快.远程文件必须共享才行,文件路径须使用通用约定(UNC)名称,即"\\服务器名或IP ...
- 从0开始学Swift笔记整理(五)
这是跟在上一篇博文后续内容: --Core Foundation框架 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Sw ...
随机推荐
- RAC 10.2.0.5,客户端登陆间断遭遇ORA-12545
实验环境: 服务端:OEL 5.7 + Oracle 10.2.0.5 RAC 客户端:Windows 7 + Oracle 11.2.0.1 Client 1.客户端登陆间断遭遇ORA-125 ...
- 4.羽翼sqlmap学习笔记之Post登录框注入
4.Sqlmap系列教程——post登录框注入注入点: http://xxx.xxx.com/Login.asp 注入方式一: 1.对着注入点使用burp抓包,保存txt格式文件. 2.输入命令: . ...
- tomcat源码剖析系列
一个简单的web服务器 一个简单的servlet容器 连接器 创建httpRequest 创建HttpResponse 容器 生命周期 日志记录器 载入器 Session管理 关闭钩子 启动tomca ...
- 从零开始,搭建博客系统MVC5+EF6搭建框架(4)上,前后台页面布局页面实现,介绍使用的UI框架以及JS组件
一.博客系统进度回顾以及页面设计 1.1页面设计说明 紧接前面基础基本完成了框架搭建,现在开始设计页面,前台页面设计我是模仿我博客园的风格来设计的,后台是常规的左右布局风格. 1.2前台页面风格 主页 ...
- [VB.NET]调用API获取/设置键盘按键状态
1.调用GetAsyncKeyState()获取指定按键的状态,GetActiveKey()检索指定范围内的按键状态 2.调用keybd_event()可合成一次击键事件,通常两次击键事件间需要设定时 ...
- 体验VS2015 Update 2 的 Android 和 Python
趁着假期不用加班,又遇到build 2016的劲爆消息--Xamarin免费集成到VS中 所以立马把vs升级到update 2体验一下下(之前也体验过). 在安装的时候也是只勾选了部分,不需要太多(全 ...
- Windows 10 内置管理员无法打开Metro应用方法
前言 在windows 10中,由于权限原因,使用了内置管理员账户.虽然这样权限获取了,但是不能打开Metro应用,Microsoft Edge浏览器等,有点不太好.那有没有方法可以修改呢?这是本文要 ...
- view向controller提交列表
第一次将view中列表提交到controller,尝试了下,还是可以的 要传输的实体类 /// <summary> /// 用于展示的角色类 /// </summary> pu ...
- 数据库排序sql,order by
一开始我认为 SELECT * FROM dbo.T_User ORDER BY CreateTime ,IsDel DESC 的执行顺序是先按创建时间倒序排序,再按isdel倒序排序,所以我就没再S ...
- ios h5 app avalon tap点击事件失效及点击延迟300ms问题解决方法
1.ios h5 app avalon tap事件失效 使用MUI制作app界面,使用avalon.js渲染数据,发现在(Android上正常)ios上运行时容器div的avalon的ms-on-ta ...