笔记整理之 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 ...
随机推荐
- WebGIS中矢量切图的初步研究
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 在GIS领域,金字塔技术一直是一个基础性技术,WMTS规范专 ...
- ASP.NET CMS模板培训教程
注意:此文档中出现所有的类,都是公司内部的,也就是说,只是给公司内部人员培训的一篇文章而已,如果其他的人看到了, 看不懂里面的类,那是因为这都是我公司内部的框架. 首先是进入我们的系统的后台,然后选择 ...
- 记录下Sublime Text Mac版的快捷键【转】
推荐使用最新版本的Chrome/Safari或者Firefox浏览器浏览此页,否则Mac按键可能无法正常展示 The Latest Version of Chrome/Safari or Firefo ...
- Android之仿ele地图定位效果
PS:最近项目要求,希望在选择地址的时候能够仿ele来实现定位效果.因此就去做了一下.不过ele使用高德地图实现的,我是用百度地图实现的.没办法,公司说用百度那就用百度的吧.个人觉得高德应该更加的精准 ...
- spring-boot - demo
当我发现把最初的一个demo整的面目全非的时候,突然想要找一个简单的demo做测试,发现与其在原来的上面该,还不如新建一个demo. 官方入门:http://projects.spring.io/sp ...
- Sql Server之数据类型详解
数据类型是一种属性,用于指定对象可保存的数据的类型,SQL Server中支持多种数据类型,包括字符类型.数值类型以及日期类型等.数据类型相当于一个容器,容器的大小决定了装的东西的多少,将数据分为 ...
- 7.6 数据注解特性--StringLength
StringLength attribute can be applied to a string type property of a class. EF Code-First will set t ...
- AngularJS----基本操作
之前的学习基本了解了AngularJS的常用方法,下来就继续学习吧. 创建自定义的指令 除了内置指令,我们可以创建自定义指令.通过.directive函数来添加. <div change-dat ...
- HtmlHelper拓展实现CheckBoxList
经过一番折腾(主要是SelectList这个类操作有些繁琐)实现了CheckBoxList,过程RadioList基本一样 拓展方法 public static MvcHtmlString Check ...
- 三分钟集成elmah xml 格式日志到mvc站点
1.通过nuget安装Elmah ELMAH on XML Log 会自动在web.config 文件中添加配置内容,默认不允许远程访问,日志访问路径是 Elmah.axd,不记录500错误 2.修改 ...