• bcp和load table


    使用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' 或者 ' ',否则会报错!

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

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

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

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

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

  • 相关阅读:
    react-redux简单使用
    jQuery——Js与jQuery的相互转换
    移除HTML5 input在type="number"时的上下小箭头
    echarts 5.0 地图
    Vue echarts 设置初始化默认高亮
    echarts 渐变色
    隐藏滚动条css
    echarts 柱状图--圆角
    echarts 气泡图--option
    Vue 圆柱体组件
  • 原文地址:https://www.cnblogs.com/lichmama/p/4103048.html
Copyright © 2020-2023  润新知