原文:数据仓库之抽取数据:通过bcp命令行导入数据


在做数据仓库时,最重要的就是ETL的开发,而在ETL开发中的第一步,就是要从原OLTP系统中抽取数据到过渡区中,再对这个过渡区中的数据进行转换,最后把经过处理的干净的数据加载到数据仓库中。

目标数据库是sql server,通过bcp命令行导入数据。bcp方式相对于其他方式来说,速度更快,是做了优化的。

以下为bcp命令行常用的参数,注意大小写:

-c  以char作为存储类型

-w  和-c类似,只有当使用unicode字符集拷贝数据时使用nchar作为存储类型

-T  用可信连接

-S  sql server服务器名称

in  导入数据

out 导出数据

queryout 查询导出数据

-U  用户名

-P  密码

-F  从哪一行开始导入

-L  直到哪一行结束

-f  格式文件

-x  与-f一起使用,用来生产xml格式的格式文件

-t  指定字段分隔符是"\t"

-r  指定行分隔符是"\n"

1、开启即席查询


  1. --修改高级参数
  2. sp_configure 'show advanced options',1
  3. go
  4. --允许即席分布式查询
  5. sp_configure 'Ad Hoc Distributed Queries',1
  6. go
  7. --如果配置的值不在合理范围(在最小值最大值范围内),那么可以强制覆盖
  8. reconfigure with override  
  9. go

2、导出格式化文件

格式化文件用来指定表的格式,也就是几个字段,数据类型是什么,后面导入、导出数据会用到。

通过导出格式化选项,可以直接导出,不需要我们自己写。

用可信连接登陆:


  1. bcp wc.dbo.calendar format nul -f c:\calendar.fmt
  2. -c -T -S pc0227gry\mssqlserver2008

通过用户名、密码登陆:


  1. bcp wc.dbo.calendar format nul -f c:\calendar.fmt
  2. -c -Usa -Pxyz -S pc0227gry\mssqlserver2008

3、导出数据文件,可以把远程服务器的数据导出保存为本地的文件


  1. bcp wc.dbo.calendar out c:\calendar.txt -f c:\calendar.fmt
  2. -c -T -S PC0227GRY\MSSQLSERVER2008

4、导入数据


  1. bcp wc.dbo.calendar in c:\calendar.txt -c -f c:\calendar.fmt
  2. -Usa -Pxyz -S pc0227gry\mssqlserver2008
发布了416 篇原创文章 · 获赞 135 · 访问量 94万+

数据仓库之抽取数据:通过bcp命令行导入数据的更多相关文章

  1. t-sql或mssql怎么用命令行导入数据脚本

    osql简单用法:用来将本地脚本执行,适合sql脚本比较大点的情况,执行起来比较方便 osql -S serverIP -U sa -P 123 -i C:\script.sql serverIP数据 ...

  2. PCB MS SERVER 使用bcp命令将数据库数据导出到Excel

    在前年工程系统与APS系统对接时,需将工程系统数据导出来给APS,采用的正是bcp命令实现,速度超快. 这里将此命令使用方法整理如下: 一.写SQL将表数据导出到Excel @echo "& ...

  3. (转)MySQL命令行--导入导出数据库

    MySQL命令行导出数据库:   1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Se ...

  4. MySQL命令行--导入导出数据库

    MySQL命令行导出数据库:   1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Se ...

  5. MySql:mysql命令行导入导出sql文件

    命令行导入 方法一:未连接数据库时方法 #导入命令示例 mysql -h ip -u userName -p dbName < sqlFilePath (结尾没有分号) -h : 数据库所在的主 ...

  6. 命令行导入SQL文件

    摘要:把数据库导出为XX.sql格式的数据库文件,导入到另外一个数据库中的时候,总是无法全部导入.及时用mysql的命令界面导入依然是无法全部导入.老师告诉我:在命令行中运行的效率和成功率是最快和最高 ...

  7. mysql用命令行导入sql文件

    前面说到了用navicat工具导入导出数据库,今天给同事导入数据库的时候,发现到不进去,好多错误,情急之下,用命令行导入的 1.打开mysql的服务.cmd-->net start mysql ...

  8. MYSQL 命令行导入导出数据库文件

    MYSQL命令行导入数据库 1.首先通过命令行进入到mysql安装目录的bin目录下,比如我输入的命令为: cd E:\MySQL\MySQL Server 5.5\bin,输入如下命令: mysql ...

  9. 文件批量加密重命名--python脚本AND mysql命令行导入数据库

    在考试中学生交上来的报告,需要进行一下文件名加密,这样阅卷老师就不知道是谁的报告了 在百度帮助下,完成了加密和解密脚本, 加密 #!/usr/bin/python # -*- coding: utf- ...

随机推荐

  1. arcgis 地理坐标系 699个,投影坐标系是4767

    import arcpy # Get the list of spatial references and print it. srs = arcpy.ListSpatialReferences(sp ...

  2. c#添加资源

    1.在项目目录下创建Resources文件夹,把需要用到的图片放到此文件夹里 2.在项目属性-资源里面添加这些图片 此时就可以在项目里看到资源文件夹及其下的图片了 3.在代码里这样使用这些图片: Im ...

  3. Angular 开发工具介绍

    1.Webstorm2.Visual Studio Code  (推荐) 记得 安装angular插件

  4. React——嵌入已有项目 && jsx

    Add React to a Website React has been designed from the start for gradual adoption, and you can use ...

  5. ES6深入浅出-2 新版函数:箭头函数 2 视频-1.视频 箭头函数

    ES3里面的写法 匿名函数是用不了的 还是需要给他赋值 选中的这一部分叫做匿名函数 等于号叫做赋值 let xxx叫做声明 所以说这个地方是三个语法,首先声明一个匿名函数,然后声明一个xxx变量,最后 ...

  6. 算法习题---4-5IP网络(Uva1590)

    一:题目 给出m(1到10000之间)个IP地址,求他们最小的网络号和子网掩码 (一)样例输入 3 表示要获取的IP地址个数 194.85.160.177 IP地址 194.85.160.183 19 ...

  7. unique_ptr智能指针

    一.VS例子 // Test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <thread> #includ ...

  8. PAT 甲级 1061 Dating (20 分)(位置也要相同,题目看不懂)

    1061 Dating (20 分)   Sherlock Holmes received a note with some strange strings: Let's date! 3485djDk ...

  9. HmacSHA256算法(C# 和 Java)

    Java代码: /** * HmacSHA256算法,返回的结果始终是32位 * @param key 加密的键,可以是任何数据 * @param content 待加密的内容 * @return 加 ...

  10. 【ARTS】01_36_左耳听风-201900715~201900721

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...