ORA-1483不解的问题

[复制链接]
查看11 | 回复8 | 2005-9-18 11:00:10 | 显示全部楼层 |阅读模式
是这样的:
开发人员说原来某字符串列是varchar2(1000),后来觉得不够,改成varchar2(4000),然后进行更新update,只要字符串长度到900多就报这个错:
update failed! Exception is java.sql.SQLException: ORA-01483: invalid length for DATE or NUMBER bind variable
这是在jdbc使用绑定变量后运行报的错,但是如果把这条语句直接在sqlplus下执行,则不报错,数据库是redhat下10.1.0.3, 请问有谁遇到过这种问题?是应用层还是数据库端出的错呢?
回复

使用道具 举报

千问 | 2005-9-18 11:00:10 | 显示全部楼层
顶一下! 不知道如何解决, 开发人员催得紧!
回复

使用道具 举报

千问 | 2005-9-18 11:00:10 | 显示全部楼层
看一下你是否將 cursor_sharing 在 init 初始參數設為 FORCE 。如是改為 exact 再試試.
這個 java 中我記得有 bug 存在.
回复

使用道具 举报

千问 | 2005-9-18 11:00:10 | 显示全部楼层
數據庫的問題﹐建議刪除并重新建立這個表。
回复

使用道具 举报

千问 | 2005-9-18 11:00:10 | 显示全部楼层
我觉得应该检查前台的应用程序的对应的数据类型定义,
回复

使用道具 举报

千问 | 2005-9-18 11:00:10 | 显示全部楼层
数据库 oralce 9i 版本9.2.0.1.0
Server: Weblogic 814
数据库连接方式:Hibernate3+DataSource + ConnectionPool
问题:
往数据库中某表插入Blog对象时偶尔(并不是每次都,现象是第一次不出错,之后每次都出错)出错,错误异常:
{org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: Could not execute JDBC batch update: encountered SQLException [ORA-01483: invalid length for DATE or NUMBER bind variable]; nested exception is java.sql.BatchUpdateException: ORA-01483: invalid length for DATE or NUMBER bind variable.
java.sql.BatchUpdateException: ORA-01483: invalid length for DATE or NUMBER bind variable
原因分析:
出现这个问题后,使用spring提供的org.springframework.jdbc.datasource.DriverManagerDataSource连数据库执行相同的操作并没有问题,由于使用的是server上配置的DataSource+ConnectionPool,数据库驱动的获取是server选择的。经查找,server选择的是%bea_home%/weblogic81/server/lib/ojdbc14.jar (version 10.1.0.6.0)。用类路径里的驱动替代,该问题不再出现。
解决办法:使用version为10.1.0.4.0的ojdbc.jar代替%bea_home%/weblogic81/server/lib/ojdbc14.jar。
回复

使用道具 举报

千问 | 2005-9-18 11:00:10 | 显示全部楼层
谢谢!虽说是去年的问题了
回复

使用道具 举报

千问 | 2005-9-18 11:00:10 | 显示全部楼层
造成这种问题的原因是由于访问Oracle数据库的ojdbc。jar的版本与Oracle自身的ojdbc。jar的版本不一致,建议将Oracle的ojdbc。jar 拷贝到java访问端
回复

使用道具 举报

千问 | 2005-9-18 11:00:10 | 显示全部楼层
学习中!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行