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中,获取表的所有列名的数组形式的语句如下:

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

  有兴趣可以试试。

3.下载csv文件

4.编辑*.ctl控制文件

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

表示将/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同名,里面会记录错误原因。目前见过的错误有:字段中的内容含有换行或字段长度不够等等,依次解决即可。

sqlldr导入数据(以PostgreSql>>>Oracle为例)的更多相关文章

  1. sqlldr导入数据取消回显记录条数

    之前在脚本中使用sqlldr导入数据时,如果表的数据量较大的话,会使日志文件变得极大,之后在网上查找了很久,才在一个偶然的机会找到这个参数 silent=all 但是最近发现这样写有个问题,就是加了这 ...

  2. 批量导入数据表(oracle)

    批量导入数据表(oracle) 1.登陆plsql 2.找到菜单栏 工具>>导入数据>>新增图标(会提示选择*.csv文件) 选择如上图所示 3.选择数据并导入 4.下图为执行 ...

  3. oracle sqlldr导入数据和导入去除空格

    1.新建目录E:\load把需要导入的数据文件放到目录下面 这是我自己造的测试数据... 2.在文件下新建脚本文件 Load data infile 'E:\load\info.txt' into t ...

  4. sqlldr导入数据

    直接在cmd输入sqlldr即可,不需要先输sqlplus. 参考链接:每次提交多少行很重要:http://www.cnblogs.com/wingsless/archive/2012/08/04/2 ...

  5. mysql 导入数据到postgresql

    创建PG的表脚本 DROP TABLE IF EXISTS "public"."t_resource_info"; CREATE TABLE "pub ...

  6. Oracle11g在Windows和Linux下imp导入表,exp导出表,sqluldr2导出表,sqlldr导入表

    Windows(Win10) 打开cmd 首先输入sqlplus,依次输入用户名.口令 C:\Users\hasee>sqlplus SQL*Plus: Release Production o ...

  7. GreenPlum/postgres copy命令导出/导入数据

    一.COPY命令简单实用 1.copy在postgres与GreenPlum介绍 1.1 postgrespostgres的COPY命令可以快速的导出/导入数据到postgresql数据库中,支持常用 ...

  8. Oracle sqlldr导入导出txt数据文件详解

    一.sqlldr导入txt 1.预备 a).txt文件 这里要保存成无签名的UTF-8 b).oracle建表 2.编写控制文件input_test.ctl LOAD DATA CHARACTERSE ...

  9. oracle12c:通过oracle客户端工具配置tns,并使用sqlldr进行批量导入数据

    通过oracle客户端工具配置tns: 进入oracle配置工具“Net Configuration Assistant”-> 点击“下一步”,完成tns配置. 测试是否tns可用 命令:tns ...

随机推荐

  1. MYSQL加入远程用户或同意远程訪问三种方法

    加入远程用户admin密码为password GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY \'password\' WIT ...

  2. Bash编程的test和条件语句

    1.if语句一句条件判断结果选择执行路径.最简单的if-then句型: if command //如果command的退出状态为0,执行body then body fi 重点:if认为command ...

  3. Ubuntu和centos下查看包的安装路径

    安装包后,如何查看安装的具体路径? Ubuntu下: dpkg -L  <包名> CentOS下: rpm -ql   <包名> 助记: l为list的首字母. q为query ...

  4. Correlation and Regression

    Correlation and Regression Sample Covariance The covariance between two random variables is a statis ...

  5. CSS实现超级链接需要通过双击后跳转

    超级链接需要双击后跳转如何实现. CSS代码.test3 span { position: relative;}.test3 span a { position: relative;z-index: ...

  6. asp.net 通用的连接数据库实例代码

    asp.net中数据库连接代码,有需要的朋友可以参考一下. <%@ Page Language="C#" AutoEventWireup="true" C ...

  7. JVM building

    http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/README file:///D:/JDK/jdk11/jdk/doc/building.htm ...

  8. 每日英语:A New Recipe for Innovation That Feeds the Whole Organization

    The world is a fast and dangerous place. To survive a company must innovate. Many organizations look ...

  9. 关于Solr6.0中solrj使用简单例子

    solr6.0的solrJ接口有部分变化,下面列出了简单的使用实例,有需要的朋友可以参考下. package com.ailk.solr6; import java.io.IOException; i ...

  10. 0058 Spring MVC如何向视图传值--Model--ModelMap--ModelAndView--@ModelAttribute

    MVC,模型.视图.控制器,请求来了,控制器负责找到Controller进行一通计算,计算的结果放到模型里,再找视图把结果呈现出来. 请求里一般都包含了一些参数,前面说了,Spring MVC有很多种 ...