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 ...
随机推荐
- 构建之法<第四章>之感悟
第四章:两人合作内容出处:4.6 两人合作的不同阶段和技巧 本章主要是讲关于合作方面的,文章以刚刚认识的两个人为例!也就是说,他们之前的关系是陌生人,然而在现实当中两人合作也可以有其它的关系,比如说合 ...
- web api同源策略
1.重写JsonMediaTypeFormatter public class JsonpMediaTypeFormatter : JsonMediaTypeFormatter { private s ...
- Program A-归并排序
Description In this problem, you have to analyze a particular sorting algorithm. The algorithm proce ...
- 使用WebClient Post方式模拟上传文件和数据
假如某网站有个表单,例如(url: http://localhost/login.aspx):帐号 密码 我们需要在程序中提交数据到这个表单,对于这种表单,我们可以使用 WebClient.Uplo ...
- iOS开发之runtime运行时机制
最近参加三次面试都有被问到runtime,因为不太懂runtime我就只能支支吾吾的说点零碎.我真的好几次努力想看一看runtime的知识,因为知道理解它对理解OC代码内部变化有一定帮助,不过真心觉得 ...
- python解无忧公主数学题108
""" python解无忧公主数学题108回文.py 题目来源: http://mp.weixin.qq.com/s?__biz=MzI5ODEwMDQyNw==& ...
- Oracle GoldenGate 12c中的协同交付(Coordinated Delivery)
OGG 12c中,并行交付有2种模式:集成交付.协同交付.不过集成交付只能针对目标端是oracle数据库(有版本要求)使用,而协同交付则可以在非oracle数据库上使用. 先来看2个问题, l 为什么 ...
- centos虚拟机,环境配置
yum安装 yum -y install 包名(支持*) :自动选择y,全自动yum install 包名(支持*) :手动选择y or n 1.安装vim Centos默认自带VI,功能没VIM丰富 ...
- history对象
1.history对象前进 history.forward() 2.history对象后退 history.back() 3.history对象跳入指定页面 history.go(-1): //当前 ...
- 一个很好介绍js的例子
function UpdateInit(opt){ this.init(opt);} UpdateInit.prototype={ loadUrl:null, loadParam:null, befo ...