使用oracle sqlldr进行数据导入时报Field in data file exceeds maximum length错误:
在ctl文件中设置的数据长度小于实际数据长度
如: column char(2000) 实际数据长度 超过了2000char
这个时候需要增大设置的长度大小
数据库的字段长度设置为varchar2(2000 char) 也需要同时修改为varchar2(4000 char)

如果没有指定设置数据长度
Oracle sqlldr 默认为该字段为VARCHAR(255)

varchar2(size type),size最大为4000,type可为char或者byte,默认是byte。

varchar2最多存放4000字节的数据,不管type是char还是byte。所以如果你设置varchar2(4000
char),你可以存入4000个字母,但是不能存入4000个汉字。如果数据库字符集编码是GBK,那么varchar2最多能存放2000个汉字,如果字符集编码是UTF-8,那么则只能最多存放1333个汉字了。

nvarchar2(size),size最大值为2000,单位是字符,而且不管是汉字还是字母,每个字符的长度都是2个字节。所以nvarchar2类型的数据最多能存放2000个汉字,也最多只能存放2000个字母。并且nvarchar2不同于varchar2,他不受数据库字符集的影响。

另外如果我们把A1,A2都设为varchar2(4000),并且这两个字段的内容长度都超过了2000字节,那么使用select A1||A2
from table这样的语句时,因为结果超过了4000字节,所以会报错。

从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则

1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符,而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个
2、VARCHAR2可变长度字符域,最大长度可达4000个字符,NVARCHAR2多字节字符集的可变长度字符域,长度随字符集而定,最多为2000个字符或2000个字节

1.nvarchar中字符为中文则一般按2个字节计算,英文数字等按照一个自己计算
2.nvarchar2中所有字符均按照2个字节计算;
3.nvarchar2虽然更占空间,但是它有更好的兼容性(推荐使用);

oracle sqlldr 数据导入时报错:Field in data file exceeds maximum length相关推荐

  1. oracle sqlldr 数据导入时报错:Field in data file exceeds maximum length完美解决

    使用oracle sqlldr进行数据导入时报Field in data file exceeds maximum length错误的解决办法: 一种是数据字段确实比数据库中的字段要长,这中错误需要调 ...

  2. oracle sqlldr 数据导入错误Field in data file exceeds maximum length解决

    使用oracle sqlldr进行数据导入时报Field in data file exceeds maximum length错误的解决办法: 一种是数据字段确实比数据库中的字段要长,这中错误需要调 ...

  3. oracle+exceeds,oracle 导入报错:field in data file exceeds maximum length

    今天用sqlldr导入数据时候报错: " Record 1: Rejected - Error on table ks_test, column khname. Field in data ...

  4. oracle sqlldr 数据导入超长,sqlldr 数据导入问题 超长

    本帖最后由 hlwjxsg 于 2012-6-19 10:59 编辑 sql脚本代码: call.sql set echo off set term off set line 1000 pages 0 ...

  5. #oracle imp 数据导入报错 LRM-00101: unknown parameter name ‘uconsole/g¨ IMP-00022: failed to process p

    #oracle imp 数据导入报错 LRM-00101: unknown parameter name 'uconsole/g¨

  6. oracle sqlldr数据导入方法,sqlldr导入oracle数据

    最近配合本部门的一位工程师做投诉的数据割接,主要就是将旧系统中的数据导入到新系统中,这里用了一个工具sqlldr.这是一个比较好的快捷的工具,很适合批量导入数据. 本人也参考了网络上的一些文章,现将总 ...

  7. Navicat for Mysql数据导入时报错1366 - Incorrect string value: ‘\xE7\x90\xAD‘ for column ‘xx‘ at row xx

    在 Navicat for Mysql 进行数据导入时 报错1366 - Incorrect string value: '\xE7\x90\xAD' for column 'xx' at row x ...

  8. oracle数据库数据导入导出步骤(入门)

    oracle数据库数据导入导出步骤(入门) 说明:  1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL  2.如果熟悉命令,建议用exp/i ...

  9. oracle数据库开多线程,学习笔记:Oracle表数据导入 DBA常用单线程插入 多线程插入 sql loader三种表数据导入案例...

    天萃荷净 oracle之数据导入,汇总开发DBA在向表中导入大量数据的案例,如:单线程向数据库中插入数据,多线程向数据表中插入数据,使用sql loader数据表中导入数据案例 1.Oracle数据库 ...

最新文章

  1. linux下查看内存使用情况
  2. 评分9.7!这本Python书彻底玩大了?程序员:真香!
  3. 企业级服务器固态硬盘,用户如何选择企业级SSD?_Intel服务器CPU_企业存储技术与评测-中关村在线...
  4. F.孤独(牛客小白月赛39)
  5. 华为手机如何调时间显示_华为手机不亮屏也能显示时间日期?10秒就能设置,原来这么简单...
  6. pip 安装GDAL
  7. 招聘 | 语言资源高精尖创新中心研发人员招聘启事
  8. centos7 kvm虚拟机安装黑屏
  9. 阶乘的java编程_java编程求n的阶乘
  10. MySQL批量插入(使用mybatis实现mysql数据库的批量插入操作)
  11. 大学英语综合教程三 Unit 4 课文内容英译中 中英翻译
  12. 微分中值定理与导数的应用
  13. centos7 设置网络(静态ip),联网失败,DNS解析失败(被覆盖),虚拟机
  14. 正面管教读书笔记 10 你的性格对孩子性格的影响
  15. Word编号设置和跳到尾页快捷键
  16. 国网入职计算机考试题库,2019年国家电网入职考试题库.pdf
  17. 公司邮箱域名可以定制吗?公司邮箱申请注册?公司邮箱登录入口?
  18. JavaWeb_AjaxJson
  19. HTML中如何给代码添加注释
  20. HTTP概念协议报文结构请求响应数据报分析

热门文章

  1. Vmware的三种网络连接模式(bridged、NAT、host-only)区别
  2. 基础会计学习笔记 6.借贷记账法 7.会计分录
  3. 【最佳实践】瀚高数据库安全版v4.5.7非root用户运行的安装配置
  4. CodeForces 333A Secrets
  5. phxpaxos的Proposer和Acceptor的流程
  6. MATLAB基础——回家第六天
  7. 2022年T电梯修理特种作业证考试题库及答案
  8. 国家反诈中心APP为什么这么火?这些超牛功能赶快下载使用
  9. 微信小程序真机测试 Provisional headers are shown 问题解决办法
  10. poj1723 SOLDIERS(思维题-中位数/货仓选址问题)