IMP-00058: 遇到 ORACLE 错误 1461

ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

问题描述:

------------------------------------------

1、出版社使用的数据库为Oracle v11.2.0.3.0

2、导入数据前,将数据库同名表及数据删除

3、通过SQL命令:“ IMP 用户名/密码@服务器名 file=dmp文件路径 indexes=n grants=n constraints=n statistics=none fromuser=data_user touser=用户名 tables=(导入表名) ”   导入数据(导入用户的默认表空间足够大)

4、执行中发生错误:

“连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

经由常规路径由 EXPORT:V11.01.00 创建的导出文件

警告: 这些对象由 DATA_USER 导出, 而不是当前用户

已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入

导入服务器使用 AL32UTF8 字符集 (可能的字符集转换)

. 正在将 DATA_USER 的对象导入到 SPT

. . 正在导入表                    "GG_WJ_JSBG"

IMP-00058: 遇到 ORACLE 错误 1461

ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

IMP-00028: 上一个表的部分导入已回退: 回退 873250 行

成功终止导入, 但出现警告。

------------------------------------------

事情经过:

在电子审批库上使用exp命令导出了几张表

exp DATA_USER/fl5q9at7 file=/arch_p/chubanshe_20141211.dmp log=/oracle/chubanshe_20141211.log tables=gg_wj_jsbg,ss_scgz_dbwjyyb,gg_wj_xgzlwx,gg_wj_xgfzlwx

出版社拿到dmp文件后导入时报以上问题描述(邮件内容)中的错误。

源库字符集:

通过SQL> select * from nls_database_parameters; 得到字符集为 ZHS16GBK

目的字符集:AL32UTF8

SQL> desc data_user.gg_wj_jsbg;

Name         Type           Nullable Default Comments

------------ -------------- -------- ------- ----------------------------------------------------------------------------------

RID          NUMBER(38)                      本字段无具体的业务意义,绝大部分表都增加本字段作主键,不使用有业务意义的字段作主键

SHENQINGH    VARCHAR2(16)

WENJIANCFLJ  VARCHAR2(256)  Y

JIANSUOBH    VARCHAR2(64)   Y

JIANSUOFLH   VARCHAR2(2048) Y

JIANSUOBDS   VARCHAR2(4000) Y

JIANSUOBGLX  VARCHAR2(16)   Y                0  首次检索1  补充检索

JIANSUOBGJL  VARCHAR2(64)   Y

XINGSHENR    VARCHAR2(64)   Y

JIANSUOY     VARCHAR2(64)   Y

SHENHER      VARCHAR2(64)   Y

JIANSUORQ    CHAR(8)        Y

JIANSUOBGFCR CHAR(8)        Y

YOUXIAOBJ    VARCHAR2(4)    Y                0 有效1 无效

REGNAME      VARCHAR2(64)   Y

REGTIME      NUMBER(38)     Y

MODNAME      VARCHAR2(64)   Y

MODTIME      NUMBER(38)     Y

QUANLIYQXS   VARCHAR2(1024) Y

SHUOMINGSYS  VARCHAR2(1024) Y

BEIZHU       VARCHAR2(1024) Y

SHENCHAYXM   VARCHAR2(256)  Y

SHENCHABM    VARCHAR2(256)  Y

IPCFLH       VARCHAR2(2000) Y

SHUOMINGSYX  VARCHAR2(1024) Y

SXITONGTSR   VARCHAR2(14)   Y

从源表结构上可以看到 JIANSUOBDS   VARCHAR2(4000)。VARCHAR2最大长度是4000,超过4000将以long类型存储。 ZHS16GBK 每个汉字占2个字节,AL32UTF8每个汉字占3个字节。源表中长度为4000的字段

到目的库时长度超标了,会当做LONG类型,而这一列bonding的是VARCHAR2.所以报这个错。

解决方法:

使用expdp和impdp就没问题

1、目的库那边是个人自己的测试库,所以让他们重新建一个ZHS16GBK字符集的实例

2、查看源表长字段最长存了多少字节

SQL>  select length(max(t.JIANSUOFLH)),length(max(t.JIANSUOBDS)),length(max(t.Ipcflh)),max(t.Ipcflh) from data_user.gg_wj_jsbg t;

LENGTH(MAX(T.JIANSUOFLH)) LENGTH(MAX(T.JIANSUOBDS)) LENGTH(MAX(T.IPCFLH)) MAX(T.IPCFLH)

------------------------- ------------------------- --------------------- --------------------------------------------------------------------------------

16                       106                    71 针对审查员在第一次审查意见通知书中提出的审查意见,申请人提交了意见陈述书以及经过

如果不行可以通过create table temp_gg_wj_jsbg as select * from gg_wj_jsbg.

然后 alter table temp_gg_wj_jsbg modify JIANSUOBDS   VARCHAR2(400) ;----收缩一下长度

alter table temp_gg_wj_jsbg add constraint temp_gg_wj_jsbg_pk primary key (RID);

网上对原因的罗列:

-----------------------------------------------------------------------------------------

IMP-00058: 遇到 ORACLE 错误 1461

ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

IMP-00028: 上一个表的部分导入已回退: 回退 36 行

可能有以下几种原因:

[1]插入到字符串长度大于4000字节。

[2]插入到表中的记录的某个字段数据的实际长度大于2000个字节(如果是UTF-8,则是1333个字节);或者是插入的记录中有两个或两个以上长度大于2000字节的字符串。

[3]数据库与客户端的JDBC驱动不匹配。

[4]服务器A和服务器B字符集不同等等。

oracle imp 错误604,IMP-00058: 遇到 ORACLE 错误 1461相关推荐

  1. imp-00003: 遇到 oracle 错误 604,imp ORA-00604: 递归错误

    imp ora-00604 ora-06502错误 ptm-c1的是生产库,一直都是10.2.0.4 客户端是windows版10.2.0.1 pri-1是测试库,之前的版本是10.2.0.1,导出导 ...

  2. oracle imp 错误604,oracle imp 导入时报ORACLE 错误 604

    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production With the Partition ...

  3. imp oracle错误3114,imp时发生错误ORA-01114

    IMP-00003: ORACLE error 1114 encountered ORA-01114: IO error writing block to file %s (block # %s) 在 ...

  4. exp导oracle数据库,使用exp/imp 在oracle数据库间导数据

    最近工作需要将oracle数据库的表数据导出到另一个oracle数据库表,找到了oracle 自带的命令行,并记录下导数据过程. 导数据过程分以下几步: 假设源数据库为A,目标数据库为B 1.在B上通 ...

  5. imp oracle reschema_Oracle EXP和IMP用法和介绍

    正在看的ORACLE教程是:OracleEXP和IMP用法和介绍. 1.Export/Import的用处 Oracle  Export/Import工具用于在数据库之间传递数据. Export从数据库 ...

  6. Oracle数据库导入导出 imp/exp备份还原

    Oracle数据导入导出imp/exp Oracle数据导入导出imp/exp 在cmd的dos命令提示符下执行,而不是在sqlplus里面,但是格式一定要类似于: imp/exp 用户名/密码@se ...

  7. oracle 的exp是什么,oracle中exp和imp是什么,oracle中exp和imp有何区别 | 学步园

    oracle中exp和imp是什么,oracle中exp和imp有何区别.exp和imp的输入都是名字和值对:exp parameter_name=value 或exp parameter_name= ...

  8. Oracle数据导入导出imp/exp?批处理文件

    原文:http://ymy131931.iteye.com/blog/1114476 Oracle数据导入导出imp/exp?批处理文件 如何写批处理文件自动将数据导入oracle数据库 Oracle ...

  9. Oracle数据导入导出imp/exp

    功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份.   大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失).  Oracle有个好处,虽然 ...

  10. 解密Oracle备份工具-exp/imp

    解密Oracle备份工具-exp/imp 无论是运维工作者还是数据库管理员,数据的备份和还原是我们日常工作的重点,制定合理的备份策略,使用合适的备份工具是每个IT人必备的技能,今天就给大家介绍Orac ...

最新文章

  1. 乐山计算机学校3十3,学校传真
  2. Jquery中get函数
  3. stm32 标准库一些比较容易犯的错误
  4. Debug Multithread DLL 与 Debug Multithread
  5. 重磅发布 | 30+ 阿里巴巴云原生「顶流」,给你一堂《云原生技术实践公开课》
  6. 数字化在金融领域的应用与实践,从“我觉得”到“用户觉得”
  7. Ozon Tech Challenge 2020 (Div.1 + Div.2, Rated, T-shirts + prizes!)
  8. 解构产品经理的技术思维
  9. MyBatis源码之:MapperMethod
  10. 高阶函数-语法糖-lambda(三分钟读懂)
  11. 自制XML解析器源码分析
  12. PHP 缓存 内存,PHP memcache 内存缓存 数据库查询 应用 高洛峰 细说PHP
  13. Web前端CSS颜色代码大全
  14. 什么是数据恢复工具,一款一键恢复软件
  15. 名将戚继光与北蒙之战
  16. 揭开docker的神秘面纱?镜像制作
  17. Android设置默认输入法
  18. linux内核版本指什么意思,Linux的内核版本是怎么回事
  19. 员工与客户之间就是一个微信
  20. php文本式留言,基于文本的留言簿_php

热门文章

  1. Kettle8.2输入组件之多文件合并
  2. testng执行参数_TestNG参数化测试
  3. 俄罗斯天才数学家佩雷尔曼拒领百万千禧年数学大奖
  4. Reeds-Shepp曲线学习笔记及相关思考
  5. 主谓宾定状补口诀及练习题
  6. android极光推送声音,解决极光推送后台接收到推送消息,无提示音不震动
  7. 【如何使用Google搜索引擎访问Youtobe】
  8. RGB 转换为 XYZ 和 LAB空间:convert between sRGB and CIEXYZ, 色域色彩相关
  9. 异步电机直接转矩(Asynchronous DTC)控制原理
  10. 头歌C++面向对象实训二