使用BCP和LOAD TABLE联合完成Sybase IQ 的数据导出和导入工作。
说明:
  表(视图)GN_TEST只有两个字段,TIMEID和MSISDN,
  导出时我用'|'作为字段分隔符,'&&&&'作为行分隔符。

1.导出

使用Sybase IQ自带的备份工具bcp导出文件:

  bcp [datamark.eastcom.gn_test] out [/srcdata/bcp_export/gn.txt] -c -t"|" -r"&&&&" [-Ueastcom -PEastCom\!\$ -Sdatamark]

注意:[]号是我加上的,实际使用时要去掉,比如:

  bcp datamark.eastcom.gn_test out gn.txt -c -t"|" -r"&&&&" -Ueastcom -PEastCom\!\$ -Sdatamark

[datamark.eastcom.gn_test]
  以.划分为3部分,分别是数据库实例名(datamark)、用户名(eastcom)、和用户下的表名(gn_test,也可以是视图名称)
out
  必要参数,该动作指定bcp为导出状态。对应的还有in,表示导入。
[/srcdata/bcp_export/gn.txt]
  指定导出的文件,表内导出的数据将放在该文件内。
-c -t"|" -r"&&&&"
  -t指定字段分隔符为|,-r指定列分隔符为&&&&
[-Ueastcom -PEastCom\!\$ -Sdatamark]
  -U指定用户
  -P输入密码
  -S指定数据库

鉴于bcp导入我没研究明白,所以还是建议使用LOAD TABLE作为导入部分。

2.导入
使用LOAD TABLE导入时请参照以下形式

  LOAD TABLE GN_TEST
  (
  TIMEID ,
  MSISDN)
  FROM '/srcdata/bcp_export/gn.txt'
  format bcp
  delimited by '|'
  row delimited by '&&&&'
  ESCAPES OFF
  QUOTES OFF
  WITH CHECKPOINT ON
  *COMMIT

注意:

  from指定本地(即文件与数据库是在同一台设备上)数据文件路径
  以上语句中format必须指定bcp。
  另,如果导出的时候不指定列分隔符(-r"&&&&"),那么row delimited by '&&&&'可去掉。
  默认情况下,bcp导出以换行符作为行分隔符。
  所以,请勿在bcp和load table联合使用时指定row delimited by '\x0a' 或者 '\n',否则会报错!

Sybase IQ客户端执行导入SQL的两种方式,当然这个要基于你服务器所拥有的客户端(如dbisql或isql):

dbisql -q -c "uid=eastcom;pwd=EastCom!$" -host 127.0.0.1 -port  -nogui [SQL_FILE]

-q表示安静模式,不输出信息。
SQL_FILE可以是SQL语句,也可以是保存SQL语句的文件

isql -Ueastcom -PEastCom\!\$ -Sdatamark -i SQL_FILE -o OUTPUT_FILE

SQL_FILE 存有SQL语句的文件
OUTPUT_FILE 输出信息的文件

bcp和load table的更多相关文章

  1. Sybase中的load table的用法

    Sybase中的load table的用法 用sybase iq作为数据仓库的存储,确实有其独特的特点和优势,但是在数据ETL的时候,如果用insert.update方式,速度太慢,大概是2秒钟左右一 ...

  2. LOAD TABLE tbl_name FROM MASTER语法 SQL

    用于把表的拷贝从主服务器转移到从属服务器.本语句的主要作用是调试LOAD DATA FROM MASTER.它要求用于连接主服务器的帐户拥有对主服务器的RELOAD和SUPER权限,并拥有对要载入的主 ...

  3. Sybase采用load table加载文本数据中的部分字段数据

    LOAD TABLE语句实现从数据文件中装载部分列数据的方法.转载自:https://www.cnblogs.com/lizm166/p/8116475.html(有修改) LOAD TABLE:从数 ...

  4. SQL LOAD TABLE tbl_name FROM MASTER语法 把表的拷贝从主服务器转移到从属服务器。

    用于把表的拷贝从主服务器转移到从属服务器.本语句的主要作用是调试LOAD DATA FROM MASTER.它要求用于连接主服务器的帐户拥有对主服务器的RELOAD和SUPER权限,并拥有对要载入的主 ...

  5. BCP 数据的导入和导出

    BCP 命令的参数很多,使用 -h 查看帮助信息,注意:参数是区分大小写的 使用BCP命令导出和导入数据常用的参数如下 bcp {[[database_name.][schema_name]].{ta ...

  6. Innodb parent table open时导致crash

    case描述: innodb中,父表和子表通过foreign constraint进行关联, 因为在更新数据时需要check 外键constraint,如果父表被大量的子表reference, 那么在 ...

  7. SQL Server 启用 xp_cmdshell 与bcp 使用

    启用 xp_cmdshell 1: sp_configure 'show advanced options',1 2: reconfigure 3: GO 4: 5: sp_configure 'xp ...

  8. 用BCP从SQL Server 数据库中导出Excel文件

    BCP(Bulk Copy Program)是一种简单高效的数据传输方式在SQL Server中,其他数据传输方式还有SSIS和DTS. 这个程序的主要功能是从数据库中查询Job中指定step的执行信 ...

  9. Bootstrap table 实现树形表格,实现联动选中,联动取消

    公司最近有需求要做树形式table.因为是前后端不分离项目,且之前已经引入了bootstrap table插件,现把实现方式分享一下: <!DOCTYPE HTML> <html l ...

随机推荐

  1. 谈一谈Java8的函数式编程(二) --Java8中的流

    流与集合    众所周知,日常开发与操作中涉及到集合的操作相当频繁,而java中对于集合的操作又是相当麻烦.这里你可能就有疑问了,我感觉平常开发的时候操作集合时不麻烦呀?那下面我们从一个例子说起. 计 ...

  2. java虚拟机学习-慢慢琢磨JVM(2)

    1 JVM简介 JVM是我们Javaer的最基本功底了,刚开始学Java的时候,一般都是从“Hello World”开始的,然后会写个复杂点class,然后再找一些开源框架,比如Spring,Hibe ...

  3. 你为什么必须(从现在开始就)掌握linux

    写在前面 在我看来,人人都应该学习linux,但这不是本文探讨的重点.本文主要从软件测试人员的角度谈谈学习和掌握linux的重要性.必要性.紧迫性. 另外: 这里所说的linux系统,是unix系统和 ...

  4. 【二】python内置类型

    1.布尔类型 表示真假的类型(true和false) 数字 0.None,以及元素为空的容器类对象都可视作False,反之为 True. In [1]: bool(0) Out[1]: False I ...

  5. 浅谈java发射机制

    目录 什么是反射 初探 初始化 类 构造函数 属性 方法 总结 思考 什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意 ...

  6. Struts2结合Ajax实现登录

    前言:Struts2作为一款优秀的MVC框架,和Ajax结合在一起,用户就会有良好的体验,本篇博文我们来模拟一个简单的登录操作,实现Ajax的异步请求,其中Struts2进行的是链接处理,Action ...

  7. (转) Java RMI 框架(远程方法调用)

    "原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://haolloyin.blog.51cto.com/1177454/33 ...

  8. Java之线程同步练习

    1.有一张银行卡:*属性:name,money(账户余额)* 多线程操作同一张银行卡: 金额:x(每次存钱取钱的数额,取钱时x为负数,存钱时x为整数) 定义一个add方法:用于存取钱,参数为x,即每次 ...

  9. Spring Task每次都会调用两次的问题

    最近一个Spring Mvc的项目中需要定时执行一个任务,所以使用了spring 自带的Task功能.本地调试的时候一切都正常,可是部署到服务器上后,每次任务都会被调用两次.在网上搜索了相关的问题,排 ...

  10. javaCV开发详解之6:本地音频(话筒设备)和视频(摄像头)抓取、混合并推送(录制)到服务器(本地)

    javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...