使用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. Regular Expression Matching2015年6月24日

    题目: Implement regular expression matching with support for '.' and '*'. '.' Matches any single chara ...

  2. 第 16 章 MySQL Cluster

    前言: MySQL Cluster 是一个基于 NDB Cluster 存储引擎的完整的分布式数据库系统.不仅仅具有高可用性,而且可以自动切分数据,冗余数据等高级功能.和 Oracle Real Cl ...

  3. Node.js爬虫-爬取慕课网课程信息

    第一次学习Node.js爬虫,所以这时一个简单的爬虫,Node.js的好处就是可以并发的执行 这个爬虫主要就是获取慕课网的课程信息,并把获得的信息存储到一个文件中,其中要用到cheerio库,它可以让 ...

  4. NodeMCU入门(2):在线构建、刷入固件,上传代码

    准备工作 1.NodeMCU模块 2.ESP8266Flasher.exe 3.ESPlorer v0.2.0-rc6 构建固件 Building the firmware提供了三种构建你自己固件的方 ...

  5. git rebase -i命令修改commit历史

    [TOC] 修改commit历史的前提 修改历史的提交是可能有风险的,是否有风险取决于commit是否已经推送远程分支,未推送,无风险,如果已推送,就千万不要修改commit了. 修改commit历史 ...

  6. win8安装sql2008及设置登陆名问题

    1. .net3.5安装        使用win8系统自带的升级功能无法成功安装.其实Windows8安装文件中已经集了.Net3.5,       (1)此时只需要使用虚拟光驱加载Windows8 ...

  7. java调用(axis2)WebService传递对象类型参数(源码)

    温馨提示:axis2 jar包哟 public static String pubRemoteFuc() {                String endpoint = "http:/ ...

  8. Kafka官方文档翻译——简介

    简介 Kafka擅长于做什么? 它被用于两大类应用: 在应用间构建实时的数据流通道 构建传输或处理数据流的实时流式应用 几个概念: Kafka以集群模式运行在1或多台服务器上 Kafka以topics ...

  9. 积累一些不太常用的c语言知识(不断更新)

    这里积累一些日常编程用得比较少的知识,不断添加. scanf("%c%*c%c",&a,&b); 其中的*表示跳过,本来输入三个数字,结果中间那个读入后被抛弃,a和 ...

  10. 【JavaScript学习】-事件响应,让网页交互

    什么是事件: JavaScript 创建动态页面.事件是可以被 JavaScript 侦测到的行为. 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件. 比如说,当用户单 ...