使用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. Spring Boot 学习(1)

    文 by / 林本托 Tip 做一个终身学习的人. Spring Boot 初体验 Spring Boot 包含了很多 start(Spring boot 中 的叫法,就是一个模块,后文统一称模块,便 ...

  2. 自定义控件pickView

    package com.example.healthembed.util; import java.util.ArrayList; import java.util.List; import java ...

  3. 在服务器上用Fiddler抓取HTTPS流量

    转自:http://yoursunny.com/t/2011/FiddlerHTTPS/在服务器上用Fiddler抓取HTTPS流量 阳光男孩 发表于2011-03-19 开发互联网应用的过程中,常常 ...

  4. 013 session_flush

    在hibernate中也存在flush这个功能,在默认的情况下session.commit()之前时,其实执行了一个flush命令. Session.flush功能: ②理缓存: ②执行sql(确定是 ...

  5. 用sftp上传文件至linux服务器

    1.项目环境 框架:springmvc    项目管理工具:maven 2.必须使用的jar com.jcraft jsch 0.1.27 test 3.新建一个FileUpDown工具类,在类中添加 ...

  6. opencv基础到进阶(2)

    本文为系列文章的第2篇,主要讲解对图像的像素的操作方法. 2.1存取像素值 为了存取矩阵元素,需要指定元素所在的行和列,程序会返回相应的元素.单通道图像返回单个数值,多通道图像,返回的则是一组向量(V ...

  7. salesforce零基础学习(七十二)项目中的零碎知识点小总结(一)

    项目终于告一段落,虽然比较苦逼,不过也学到了好多知识,总结一下,以后当作参考. 一.visualforce标签中使用html相关的属性使用 曾经看文档没有看得仔细,导致开发的时候走了一些弯路.还好得到 ...

  8. opcache开启前后性能对比

    opcache PHP新的字节码缓存扩展 字节码缓存组件 Zend Optimizer+ 现在更改名字为 Zend opcache了.且在php 5.5版本后,会集成到php的官方组件中,也就没有必要 ...

  9. poi jsp xls

    poi jsp xls <%@ page language="java" pageEncoding="UTF-8"import="java.ut ...

  10. 两种进入容器的方法 - 每天5分钟玩转 Docker 容器技术(23)

    我们经常需要进到容器里去做一些工作,比如查看日志.调试.启动其他进程等.有两种方法进入容器:attach 和 exec. docker attach 通过 docker attach 可以 attac ...