原文:数据仓库之抽取数据:通过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. oracle主键修改级联外键

    举例:修改te_rygj_menu这张表的主键menu_id时,te_rygj_usermenu中的menu_id也跟着修改.利用触发器trigger实现: create or replace tri ...

  2. Vue项目中的http请求统一管理

    module.exports = { dev: { // Paths assetsSubDirectory: '/', assetsPublicPath: '/', proxyTable: { /op ...

  3. main方法的详解

    格式 * public static void main(String[] args) {} 针对格式的解释 public 被jvm调用,访问权限足够大. static 被jvm调用,不用创建对象,直 ...

  4. iOS8.0如何使用Touch ID来做验证

    对于Objective-C而言,只要几行代码即可搞定. 比如: #import <LocalAuthentication/LocalAuthentication.h> - (void)vi ...

  5. C语言中的异常处理

    一 前言: 异常处理,对于做面向对象开发的开发者来说是再熟悉不过了,例如在C#中有 try { ... } catch( Exception e){...} finally{ ..... } 在C++ ...

  6. 阶段5 3.微服务项目【学成在线】_day18 用户授权_07-动态查询用户权限-权限数据模型

    3 动态查询用户权限 3.1 需求分析 截至目前在测试授权时使用的权限数据是静态数据,正常情况的流程是: 1.管理员给用户分配权限,权限数据写到数据库中. 2.认证服务在进行用户认证时从数据库读取用户 ...

  7. OpenStack Smaug项目简介

    1 项目简介 Smaug是一个OpenStack中提供应用数据保护服务的项目. 2 项目使命 在OpenStack中建立应用数据保护的标准和规范. 保护OpenStack中的任何资源以及资源的依赖项. ...

  8. LVS搭建负载均衡集群(二)——DR模式

    (1).DR模式和TUN模式介绍 Direct Routing(直接路由):director分配请求到不同的real server.real server处理请求后直接回应给用户,这样director ...

  9. 修改root密码

    Linux 密码的修改,使用passwd 命令修改 命令如下图:sudo passwd root 即可修改成功

  10. springboot拦截json后缀的请求,返回json数据

    需求:请求list.json返回以下数据 { "jsonResult": { "code": 200, "message": "查 ...