这里提到的两个报错信息汇总如下:
ORA-01461: can bind a LONG value only for insert into a LONG column
ORA-01483: invalid length for DATE or NUMBER bind variable
由于这个报错的发生,导致数据出现了异常。业务数据的恢复耗费了很大的精力。
2.问题分析
MOS上记录了这个报错信息的基本原因和处理方法。
参见MOS文章“OERR: ORA 1461 can bind a LONG value only for insert into a LONG column [ID 18864.1]”,内容如下。
Error: ORA 1461
Text: can bind a LONG value only for insert into a LONG column
-------------------------------------------------------------------------------
Cause: An attempt was made to insert a value from a LONG datatype into
another datatype.
This is not allowed.
Action: Do not try to insert LONG datatypes into other types of columns.
从报错信息上看,貌似是由于插入的值过大导致的报错。
不过从插入的信息和表结构定义进行分析,初步排除了这种可能性。
3.进一步的问题现象
从测试环境上进行了反复测试,现象如下:
在串行执行下,应用程序运行正确无误,没有出现如上报错。
然而,在并行执行的条件下,便“偶尔”会出现这个问题。
从此现象分析,便可以排除故障是由于数据本身问题导致的。
4.问题原因
经过尝试和测试。最终确认了此问题是由于应用程序中使用的驱动程序与Oracle服务器端的版本不一致导致的。
5.处理方法
将服务器端的驱动程序(ojdbc14.jar)替换应用程序中的文件。
数据库服务器上驱动程序位置如下。
ora10g@secdb /home/oracle$ cd $ORACLE_HOME/jdbc/lib
ora10g@secdb /oracle/ora10gR2/product/10.2.0/db_2/jdbc/lib$ ls -ltr
total 13M
-rw-r----- 1 oracle oinstall 1.6M Jun 22 2005 nls_charset12.jar
-rw-r----- 1 oracle oinstall 1.6M Jun 22 2005 classes12.jar
-rw-r----- 1 oracle oinstall 1.6M Jun 22 2005 classes12.zip
-rw-r----- 1 oracle oinstall 1.6M Jun 22 2005 classes12dms.jar
-rw-r----- 1 oracle oinstall 1.5M Jun 22 2005 ojdbc14.jar
-rw-r----- 1 oracle oinstall 1.5M Jun 22 2005 ojdbc14dms.jar
-rw-r----- 1 oracle oinstall 1.9M Jun 22 2005 ojdbc14_g.jar
-rw-r----- 1 oracle oinstall 1.9M Jun 22 2005 ojdbc14dms_g.jar
分享到:
相关推荐
当尝试查询这些被截断的多字节字符时,Oracle数据库将报错ORA-29275。 2. **字符集设置不当**:如果数据库服务器的字符集设置与客户端的应用程序或操作系统使用的字符集不匹配,也可能引发此错误。 3. **数据...
oracle报错ora-12541:TNS无监听程序
然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-01704: 文字字符串过长”的错误。这个错误通常意味着你试图插入的字符串超过了Oracle数据库允许的最大长度,对于VARCHAR2类型...
### ora-01033: Oracle Initialization or Shutdown in Progress 解决方法 #### 一、问题背景及原因 **标题**: “ora-01033: Oracle initialization or shutdown in progress 解决方法” **描述**: “ora-01033: ...
Oracle数据库报错ORA-00904: 标识符无效问题解决办法,有可能是字段名或者表名写错了,也有可能是
在Oracle数据库管理中,"ORA-00990: 权限缺失或无效"是一个常见的错误代码,它表示用户尝试执行的操作没有足够的权限。这个错误通常发生在试图访问、修改或者管理数据库对象(如表、视图、索引等)时。在本篇文章中...
#### ORA-00106: Unable to Connect to Instance or Database 无法连接到实例或数据库。这可能是由于网络连接问题、安全策略限制或其他连接问题。 #### ORA-00107: Unable to Connect to Oracle 无法连接到Oracle。...
oracle12c程序连接时异常: ORA-01017: 用户名/口令无效; 登录被拒绝 的解决方案。
注意:这里说的是用navicat导出查询数据的时候报错:ORA-00911: invalid character 主要原因是这里的sql是不允许带最后的分号的,删掉就好了 在plsql等工具中写完后习惯性的打上;号,在复制时也要注意啊!! 以上所...
ORA-32001:write to spfile requested but no spfile is in use请求写入spfile,但没有使用spfile的解决方法 在输入以下语句中报了这样的错误: SQL>alter system set control_files=’/u01/app/oracle/oradata/prod/...
当尝试使用Kettle连接Oracle 12c时,可能会遇到错误"ORA-28040:没有匹配的验证协议"。这个错误通常意味着客户端和服务器之间的安全认证不兼容。 **ORA-28040错误的解释:** 此错误通常出现在Oracle数据库服务器...
ORA-00604: 递归SQL层1出现错误 ORA-03106: 致命的双工通信协议错误 ORA-02063: 紧接着line(源于dblink) 以及 ORA-04052: 在查找远程对象时出错 ORA-00604: 递归SQL层1出现错误 ORA-03120: 双工转换例行程序:整数...
ORA-12154: TNS: 无法解析指定的连接标识符的解决方法
在Oracle数据库中,"ORA-00904"是一个常见的错误代码,它表示尝试引用一个不存在或无效的标识符。在这个场景下,错误信息提到的是"WM_CONCAT"函数,这表明在Oracle 19c数据库环境中,用户尝试使用WM_CONCAT函数,但...
### Oracle回收站功能详解与彻底删除表方法 #### 一、Oracle回收站功能概述 Oracle数据库自10g版本开始引入了回收站功能...同时,需要注意避免因SQL语句编写不当而导致的ORA-00933错误,以确保操作的顺利进行。
在使用Oracle Data Pump工具IMPDP(Import Data Pump)进行数据导入的过程中,可能会遇到ORA-39002和ORA-39070等错误。本文将针对这些错误的排查方法进行详细介绍,帮助用户理解问题的原因及解决策略。 ### 错误...
在Oracle数据库系统中,"ORA-01036:非法的变量名/编号"是一个常见的错误,通常出现在PL/SQL代码或者SQL查询语句中,当你尝试使用一个不正确或者未定义的变量时,Oracle数据库会抛出这个错误。这个错误可能是由于...
### Oracle报错ORA-12516:TNS:listener could not find available handler with matching protocol stack #### 报错概述 在Oracle数据库环境中遇到ORA-12516错误时,通常意味着监听器无法找到与请求协议栈匹配的...