java.sql.SQLException: ORA-00001: 违反唯一约束条件

egg68 2009-05-07 10:36:37
我最早用WEBLOIGC发布了个应用,数据库是ORACLE,实例ORA1.应用一切正常。

随后我又建立了一个实例ORA2,用原来的WEBLOGIC,原来的应用,指向了新的连接池。
随后,我发布应用,提示我:java.sql.SQLException: ORA-00001: 违反唯一约束条件。

我的应用还是原来的呀,丝毫没有改变的。怎么这么提示了?

找不到问题原因,是什么缓存的影响不?希望大家给点建议。
...全文
2678 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
coldkillernb 2009-12-04
  • 打赏
  • 举报
回复
我也遇到过这种情况,首先我在jsp插入数据时给唯一约束的列插入null值,竟然同时插入了两条一模一样的数据;然后重建表并去掉唯一约束,再插入数据报错:无效的列索引。。。。。。
egg68 2009-05-07
  • 打赏
  • 举报
回复
版本很新的。oracle 10.2
天剑斋主 2009-05-07
  • 打赏
  • 举报
回复
楼主的Oracle是什么版本的?9i已经被证实有一个BUG会导致你说的那个问题了,这个BUG要在10g中才被解决。

网上的资料是说当 CURSOR_SHARING 被设置为SIMILAR或FORCE时就有可能触发BUG。

Oracle提供的解决方法一共有5种:

1. 以LEVEL 0运行STATSPACK;

2. 重启数据库实例;

3. 将CURSOR_SHARING设置为EXACT;

4. 去掉表上的约束;

5. 修改Oracle的创建视图的脚本并对stats$v_$sqlxs视图进行重建。

另外meta-link上也有解决问题的补丁可以下载,不过需要CSID。

happydaisy1985 2009-05-07
  • 打赏
  • 举报
回复
有可能是缓存问题。。。
sunny936 2009-05-07
  • 打赏
  • 举报
回复


a. 重启数据库实例;


b. 去掉表上的约束;

/api/USB 接口地址 常见错误结果和解决方法: 下面凑字数 {“code”:“20004”,“message”:“企业实时数据获取验签证书未在服务系统注册”,“total”:0,“serviceTime”:1500000000000} 得到这个结果,说明证书没有注册,测试环境联系管理员,生产环境需要到单一窗口去注册上传。如果已经上传了的,去看看你填的ebpCode是否是你自己的。 {“code”:“20000”,“message”:“上传失败 java.lang.IllegalStateException: xxxx这里是错误信息内容”,“total”:0,“serviceTime”:1500000000000} 这个错误说明上传的数据格式不对,海关系统无法解析,注意看看是否有字段类型或者格式错误,也注意看具体看错误内容,一般都有提示。 {“code”:“20005”,“message”:“验签失败”,“total”:0,“serviceTime”:1500000000000} 得到这个信息,说明上传的内容格式没问题了,验签失败,可能加签过程不对,一般都是字符串或者加签格式不对导致的,相见加签部分的细节,注意比对加签内容的格式和样例是否一致。另外也要看看用得证书什么的有没有问题。 {“code”:“20006”,“message”:“上传失败,入库失败 java.sql.SQLException: ORA-00001: 违反唯一约束条件 (sessionID重复)”,“total”:0,“serviceTime”:1500000000000} 得到这个消息,恭喜你,测试基本成功了:加签成功、数据格式没有问题了,接下来就可以自己生成模拟数据去测试了。 {“code”:“10000”,“message”:“上传成功”,“total”:0,“serviceTime”:1500000000000} 恭喜,测试成功。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧