转自:http://blog.chinaunix.net/uid-23622436-id-2394093.html 一:在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中 2. 建立数据库间的 dblink,然后用 create table B as select * from A@dblink where ...,或 insert into B select * f
1,查Oracle数据库创建时候的字符集:oracle服务器端执行 SQL> select name, value$ from sys.props$ where name like 'NLS%'; NAME VALUE$------------------------------ ----------------------------------------NLS_LANGUAGE AMERICANNLS_
SQLLDR导入乱码问题的解决 处理过程: 1.本地建立控制文件 load data infile 'd:\TMP_KAITOUSHUJU.csv' into table TMP_KAITOUSHUJU fields terminated by ',' (TRADE_CO,FULL_NAME,CUSTOMS_CODE,CO_CLASS,VALID_DATE,RG_DATE,ADDR_CO,BUSI_TYPE,CONTAC_CO,TEL_CO,LAW_MAN,LAW_MAN_TEL,CO_
package cn.com.file;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class Client { public s
1.导入成功后,查看导入数据有乱码 2.查看字符集为uft8 select * from v$nls_parameters where PARAMETER like '%NLS_CHARACTERSET%' 3.客户端环境变量为uft8 4.检查ctl控制文件,发现同事给的是中文的 改成:AL32UTF8 5.重新导入
检查报错日志提示:field in data file exceeds maximum length REMARK字段设置:varchar2(2000),报错的内容也没有超1000个字符 表中定义的字段 REMARK虽然是varchar2(2000),但控制文件(CTL)中默认为是char类型,所以,当该列数据长度超过255(char类型长度)时会提示出错 应该是sqlldr的限制,在ctl文件中配置 REMARK为:REMARK char(2000)