zoukankan      html  css  js  c++  java
  • SQL Loader将文本数据压入数据库

    SQL Loader的用法

    1、登录数据库服务器,切换到oracle用户。

    2、执行命令:sqlldr system/T_DPwdS8  control=/opt/huawei/sqlldr/imp.ctl skip=1

      说明:sqlldr后面是数据库用户的用户名和密码,control后面是控制文件的地址,skip表示跳过前面的多少行,不导入。此命令在Windows系统中可以写在一个.bat文件中,Linux系统中可以写在一个.sh文件中,执行。

    3、编写imp.ctl文件,内容如下:

    load data

    infile ‘/opt/huawei/sqlldr/public_event.txt’

    append into table td_diag.t_diag_pre_check_publice_event

    fields terminated by X”09”

    (ID “to_number(20)”,

    OTL_ID,

    OLT_IP,

    event_tyoe,

    eventtime date’YYYYMMDD HH24:MI:SS’

    )

      说明:(1infile后面是要导入文件的地址。如果是csv文件,分隔符为逗号,fields terminated by “,”;如果是TXT文件,根据实际情况;如果是excel文件,分隔符为制表符,fields terminated by X’09’。

      (2)append表示追加,也可以用replace表示替换。

      (3)最后是表结构的字段名,引文导入之前的都为字符串类型,如果数据表中某些字段为其他类型,则在导入之前更改类型,如改为number,就在字段后面添加 “to_number(8)”,改为日期就在字段后面添加 “to_date(‘YYYYMMDD HH24:MI:SS’)”

      (4)导入过程中会自动生成.log.bad文件,如果控制文件没有指定名称,则log文件与控制文件名称一样,bad文件与导入的文件名称一样,路径也是如此。注意,如果用户没有写的权限,执行时会报错,可以提前创建好logbad文件,并给文件添加权限。

        5)不用逗号分隔符,自由取一行的长度,position

    load  data

    infile *

    into table dept

    replace

    ( deptno position(1:2),

    dname positon(*:16),// 这个字段的开始位置在前一个字段的结束位置

    loc position(*:29),

    entier_lin position(1:29)

    )

    begin data

    10Accounting Virginia,USA

     

  • 相关阅读:
    小程序-文章:微信小程序常见的UI框架/组件库总结
    小程序-文章:微信第三方登录(静默授权和非静默授权)
    asterisk
    Java实现 洛谷 P1423 小玉在游泳
    Java实现 洛谷 P1423 小玉在游泳
    Java实现 洛谷 P1423 小玉在游泳
    Java实现 洛谷 P1035 级数求和
    Java实现 洛谷 P1035 级数求和
    Java实现 洛谷 P1035 级数求和
    Java实现 洛谷 P1035 级数求和
  • 原文地址:https://www.cnblogs.com/yahutiaotiao/p/8045056.html
Copyright © 2011-2022 走看看