zoukankan      html  css  js  c++  java
  • oracle导入数据和编码问题

    配置contrl文件

    load data
    characterset utf8
    append into table role_res_gold
    fields terminated by ';'
    TRAILING NULLCOLS
    (
    F_USERNAME      ,
    F_RES_TYPE      ,
    F_INDEX            ,
    F_NAME            ,
    F_COUNT            ,
    F_GAIN_TYPE        CONSTANT  "aa", //CONSTANT 是关键字,用常量替换行里面内容
    F_CONSUME_TYPE    FILLER, // FILLER 关键字 此列的数值不会被装载
    RECORD_DATE     date "yyyy-mm-dd hh24:mi:ss" nullif (RECORD_DATE="null")
    )

    导入命令

    sqlldr userid=username/passwd@sid control=ctl.txt data=$file direct=true

    特别说明:

    control文件里面配置的是源文件编码:characterset utf8

    导入到数据库后,就是数据库的默认编码,不再是源文件编码!!!

    查看orale编码

    select userenv('language') from dual;

    例如我的数据库是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,导入后字段内容的编码就变成了GBK

     

    表装载的方法:

    INSERT 这是缺省方法。该方法假设在数据装载前表是空的,如果在表中有记录,SQLLDR退出,并报:SQLLDR-601: FOR INSERT OPTION,TABLE MUST BE EMPTY,ERROR ON TABLE DEPT

    APPEND这种方法允许记录被添加到数据库表中,而且不影响已经存在的记录

    REPLACE 这种方法首先删除表中已经存在的记录,然后开始装载新的记录。注意,当老记录被删除时,表上的任意删除触发器将被触发

    TRUNCATE 这种方法在装载数据前,使用SQL命令TRUNCATE 删除老的记录,因为去除了触发器的触发并且没有创建回滚,所以这种方法要比REPLACE快得多。

  • 相关阅读:
    hdu 1159 Common Subsequence(最长公共子序列)
    Codeforces Round #313 (Div. 2)
    cf 558A Lala Land and Apple Trees
    zoj 2193 Window Pains
    poj 2031 Building a Space Station(最小生成树)
    zoj 1060 Sorting It All Out(拓扑排序)
    拓扑排序
    poj 1287 Networking
    zoj 1586 QS Network
    poj 1679 The Unique MST
  • 原文地址:https://www.cnblogs.com/linn/p/4184277.html
Copyright © 2011-2022 走看看