sql server 内置ETL工具学习(一) BCP篇
sql server 内置ETL工具学习
常用的导入方式:bcp, BULK INSERT,OPENROWSET和 SSIS。
BCP
BCP全称BULK COPY PROGRAM
有以下特点:
- 命令行工具
- 导出为文本文件
在异构数据库之间迁移 数据时,这个一个比较通用的方法,因为基本上所有的数据库都支持文本文件。
导出一张表
导出数据文件
bcp AdventureWorks2012.HumanResources.Employee OUT d:\dump\Employee.txt -c"char" -t"|" -r\n -T
其中 -c表示导出用的字符类型,默认为char
-t表示字段分隔符
-r表示换行符
-T表示使用本地操作系统认证
bcp AdventureWorks2012.HumanResources.Employee OUT d:\dump\Employee.txt -c"char" -t"|" -r"\n" -U"sa" -P"sql2015" -S"RJD08"
其中-U表示用户名
-P表示密码
-S表示服务器名
导出数据格式
bcp AdventureWorks2012.HumanResources.Employee format nul -f d:\dump\Employee_format.fmt -t"|" -c -r"\n" -T
其中-f 表示导出的是format文件
数据导入
新建表结构
导入时需要新建目标表结构,使用select * into创建方式。
use AdventureWorks2012
go
select * into HumanResources.Employee_temp
from HumanResources.Employee where 1=2;
select * from HumanResources.Employee_temp;
执行导入
使用bcp
命令: bcp …in 格式: -f format_file
BCP AdventureWorks2012.HumanResources.Employee_temp in d:\dump\Employee.txt -c -f d:\dump\Employee_format.fmt -T
BULK insert
可以在ssms中执行
DELETE HumanResources.Employee_temp
GO
SELECT COUNT(*) FROM HumanResources.Employee_temp
GO
BULK INSERT HumanResources.Employee_temp
    FROM 'd:\dump\Employee.txt'
	WITH (FORMATFILE = 'd:\dump\Employee_format.fmt');
GO
SELECT COUNT(*) FROM HumanResources.Employee_temp
GO
OPENROWSET 大容量行集提供程序
同样是在ssms中执行
DELETE HumanResources.Employee_temp
GO
SELECT COUNT(*) FROM HumanResources.Employee_temp
GO
INSERT INTO HumanResources.Employee_temp
    SELECT *
	  FROM OPENROWSET(BULK 'd:\dump\Employee.txt',
	  FORMATFILE='d:\dump\Employee_format.fmt'
	  ) as t1;
GO
SELECT COUNT(*) FROM HumanResources.Employee_temp
GO
其它
bcp也可以在ssms中执行,可以用以下命令实现。
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO
sql server 内置ETL工具学习(一) BCP篇的更多相关文章
- SQL Server内置的HTAP技术
		SQL Server内置的HTAP技术 目录 背景 SQL Server在OLAP上的发展 SQL Server的初代HTAP SQL Server逐渐增强的HTAP SQL Server列存总结 H ... 
- SQL Server 内置函数、临时对象、流程控制
		SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getd ... 
- 10、SQL Server 内置函数、临时对象、流程控制
		SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getd ... 
- sql server内置存储过程、查看系统信息
		1.检索关键字:sql server内置存储过程,sql server查看系统信息 2.查看磁盘空间:EXEC master.dbo.xp_fixeddrives , --查看各个数据库所在磁盘情况S ... 
- 总结Sql Server内置函数实现MD5加密
		--MD5加密 --HashBytes ('加密方式', '待加密的值') --加密方式= MD2 | MD4 | MD5 | SHA | SHA1 --返回值类型:varbinary(maximum ... 
- sql server内置函数
		MSDN标准文档:https://msdn.microsoft.com/zh-cn/library/ff848784(v=sql.120).aspx 配置函数 select @@servername ... 
- mysql 内置函数和sql server 内置函数的区别
		以下函数均没有对参数做说明,使用的使用需要了解其参数内容 数据库 sql server mysql oracle 举例 获得当前系统时间 getdate() now() sysdate 注意不是函数 ... 
- SQL Server ->> 内置标量函数TRY_PARSE、TRY_CAST和TRY_CONVERT的各自特点和区别
		SQL Server到了目前的2014版本有三个函数是用来转换数据格式的.虽说之前版本中已经有CAST和CONVERT这两个函数来干这个事情.问题是,一旦往目标数据类型转换失败就会造成报错. TRY_ ... 
- SQL Server 内置函数实现MD5加密
		一.MD5加密 HASHBYTES ('加密方式', '待加密的值') 加密方式= MD2 | MD4 | MD5 | SHA | SHA1 返回值类型:varbinary(maxim ... 
随机推荐
- 在Android应用中使用OpenGL
			Android为OpenGL ES支持提供了GLSurfaceView组件,这个组件用于显示3D图形.GLSurfaceView本身并不提供绘制3D图形的功能,而是由GLSurfaceView.Re ... 
- Kafka简要图解
			LinkedIn贡献的分布式消息系统 - 请参考这里 kafka集群:producer写入消息,consumer读取消息 消息分为不同主题,每个主题可以分为多个partition(并行),每个part ... 
- sdut 2609 A-Number and B-Number
			http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2609 数位DP 以前没怎么做过,自己憋了半天, ... 
- WDCP安装常用组件(memcache、mysqli、PDO_MYSQL、mysql innodb、libmcrypt、php zip)的方法
			为有更好的性能,也为更简洁的系统,一些不是常用或不是基本的功能,都将做为可选的安装组件需要用到的就安装 注意:如果安装时遇到 ./configure: Permission denied提示,很有可能 ... 
- 线程系列3---ThreadLocal类研究
			2013-12-23 17:44:44 Java为线程安全提供了一些工具类,如ThreadLocal类,它代表一个线程局部变量,通过把数据放在ThreadLocal中就可以让每个线程创建一个该变量的副 ... 
- [开发笔记]-火狐的event和jquery1.9.1.min的问题
			一:火狐不兼容window.event.keyCode问题 火狐的event是以参数形式传入的 function onlychinese(event) { event = event || windo ... 
- NOIP 2013 提高组 day2 积木大赛
			积木大赛 描述 春春幼儿园举办了一年一度的“积木大赛”.今年比赛的内容是搭建一座宽度为 n 的大厦,大厦可以看成由 n 块宽度为1的积木组成,第 
- 结对编程——关于Fault、Error、Failure程序设计
			一.问题描述: 构造程序,分别是: •不能触发Fault •触发Fault,但是不能触发Error •触发Error,但是不能产生Fai ... 
- xlistview的XML(头)xlistview_header
			<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" ... 
- Java基础01 ------ 从HelloWorld到面向对象
			Java是完全面向对象的语言.Java通过虚拟机的运行机制,实现“跨平台”的理念.我在这里想要呈现一个适合初学者的教程,希望对大家有用. "Hello World!" 先来看一个H ... 
