笔记整理之 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 ...
随机推荐
- T4 模板自动生成带注释的实体类文件 - 只需要一个 SqlSugar.dll
生成实体就是这么简单,只要建一个T4文件和 文件夹里面放一个DLL. 使用T4模板教程 步骤1 创建T4模板 ,一定要自已新建,把T4代码复制进去,好多人因为用我现成的T4报错(原因不明) 点击添加文 ...
- Alg-4:算法可视化tiny库的实现
好吧,准备好好实践一下<算法>这本书的内容的,有点讨厌的是这本书是以Java作为示例语言的(好吧,我承认我有语言偏见,Java就是臭).其中有一个Std库,其中涉及到简化输入输出.随机数生 ...
- STM32L时钟
Four different clock sources can be used to drive the system clock (SYSCLK): 1.HSI ((high-speed inte ...
- Visual Studio 打开解决方案后 弹出框显示 "正在打开文件..." 迟迟没反应 的解决方法
Visual Studio 打开解决方案后 弹出框显示 "正在打开文件...",任务管理器的devenv进程又很正常,不会显示"未响应". 而IDE的左下角有个 ...
- oracle实用sql之将逗号分割的字符串分割多个列
select regexp_substr('a,b,c,','[^,]+',1,rownum) from dual connect by rownum<=length(regexp_replac ...
- 什么是java 序列化,如何实现java 序列化?
我们有时候将一个 java 对象变成字节流的形式传出去或者从一个字节流中恢复成一个java 对象,例如,要将java 对象存储到硬盘或者传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个ja ...
- python基础学习笔记2
词典 词典(dictionary)与列表相似,也可以存储多个元素.存储多个元素的对象称为容器(container); 常见的创建词典的方法: >>>dic = {'tom':11 ...
- 从零开始学 Java - Spring 使用 Quartz 任务调度定时器
生活的味道 睁开眼看一看窗外的阳光,伸一个懒腰,拿起放在床一旁的水白开水,甜甜的味道,晃着尾巴东张西望的猫猫,在窗台上舞蹈.你向生活微笑,生活也向你微笑. 请你不要询问我的未来,这有些可笑.你问我你是 ...
- Netty(一)引题
本文介绍Java BIO(同步阻塞IO),伪异步IO,NIO(非阻塞IO),AIO(异步IO)这四种IO的情况,并对不同IO模型作比较. 目录 1.BIO 2.伪异步IO 3.NIO 4.AIO 5. ...
- css中的各种单位简述以及ios10下safari禁止缩放的问题
px:绝对单位,页面按精确像素展示 em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值. rem:相对 ...