oracle导入数据和编码问题
2024-08-30 00:49:17
配置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快得多。
最新文章
- UEFI+GPT安装windows
- Android动画小记录
- Nginx 配置 HTTP 强缓存
- 关于 JavaScript prototype __proto__ 一点总结
- Windows下安装Tomcat服务
- 前端开发必须知道的JS(二) 闭包及应用
- Java实现智能机器自动操作电脑
- 转:Web.config配置文件详解(新手必看)
- Existence and nonexistence results for anisotropic quasilinear elliptic equations
- #添加屏蔽IP LINUX
- shell中timeout实现
- String功能测试
- 2、CentOS下编译安装Python2.7.6(转)
- siftflow-fcn32s训练及预测
- webpack 笔记
- 定时调度篇之Quartz.Net详解(被替换)
- 【Tomcat】性能优化
- Git之右键没有Git Bash Here的解决办法
- JNDI到底是什么,有什么作用
- vmware虚拟机开机报附件中的错误的解决办法