• sqlldr导入数据(以PostgreSql>>>Oracle为例)


    1.在目标数据库中创建表

      1.1点击源表,复制创建语句

      1.2 修改数据类型以匹配目标数据库,如:

        字符串类型:character varying(20)>>>varchar2(20)

        数字类型:numeric(19,2)>>>number(19,2)

        时间戳:timestamp without time zone>>>timestamp或date

      1.3 其他

        一般字符串类型需要加长长度,不然有时会插不进去数据,不知为什么;

        P和O数据库的not null default * 语句位置刚好相反;

    2.导出csv格式数据

      copy call to '/tmp/call.csv' DELIMITER ',' NULL '' CSV [QUOTE '"' FORCE QUOTE 跟这个表的所有列名]

    这样就可以将数据导出了,需要注意的是:

      ①有时数据量较大会出现导出失败,如

    解决办法:用select的方式导出

      ②[QUOTE '"' FORCE QUOTE 跟这个表的所有列名的数组形式]

        没用过,表示给每个列的数据都加上“”,在PostgreSql中,获取表的所有列名的数组形式的语句如下:

    1  SELECT array_to_string(array(    
    2             select attname from pg_attribute where attrelid = '表名称' ::regclass and attnum > 0
    3             and attisdropped = 'f'   
    4             ), ',') as name

      有兴趣可以试试。

    3.下载csv文件

    4.编辑*.ctl控制文件

     1 load data
     2 CHARACTERSET UTF8
     3 infile "/home/oracle/hthhf.csv"
     4 truncate
     5 into table t_yw_hthhf_old
     6 fields terminated by ","
     7 OPTIONALLY ENCLOSED BY '"'
     8 trailing nullcols
     9 (
    10   列名1 integer external ,
    11   列名2 timestamp "YYYY-MM-DD hh24:mi:ss" ,
    12   列名3,13   列名4 float  external
    14 )

    表示将/home/oracle/hthhf.csv的数据传入表t_yw_hthhf_old中,用逗号分割。需要注意的是下面括号中的部分,字符串型不加修饰,整型和浮点型分别加integer/float external,日期加timestamp "YYYY-MM-DD hh24:mi:ss"。

    5.上传csv和ctl文件至目标服务器(略);

    6.在目标服务器切换成oracle用户,并执行一下命令:

    sqlldr userid=用户名/密码 control=ctl文件的全路径;

    比如我上传到/home/oracle下了,则control=/home/oracle/hthhf.ctl

    7.其他问题

    导入后需要查看目标数据库,检查是否全部导入,如果数据不全,或在执行命令时异常,需要查看与ctl文件同目录下的log,与ctl同名,里面会记录错误原因。目前见过的错误有:字段中的内容含有换行或字段长度不够等等,依次解决即可。

  • 相关阅读:
    使用灰层覆盖UI时,有事发生
    通过自定义ISAPI Filter来禁止敏感文件的访问
    静态链接库LIB和动态链接库DLL的区别 创建和示例
    深入剖析C++中的string类
    .net c# 序列化和反序列
    ASP.NET 状态服务 及 session丢失问题解决方案总结
    IWAM_账号的用途以及如何同步密码
    COM 组件设计与应用(一)起源及复合文件
    两种古老的WEB编程技术 CGI和ISAPI之间的区别
    Send MSMQ Messages Securely Across the Internet with HTTP and SOAP
  • 原文地址:https://www.cnblogs.com/yw0219/p/5836415.html
Copyright © 2020-2023  润新知