[数据库]报错:ORA-06550

本文解决了一个数据库中存储过程报错的问题,原因在于字段修改后存储过程未同步更新,导致9i正常运行而10g出现ORA-06575错误。通过debugServer发现无法找到'struts.multipart.saveDir'属性设置,最终成功定位并修复问题。

问题:向数据库插入数据是报错:

ORA-06550: line 1, column 7: PLS-00905: object TEST.USERINFO_INSERT is invalid

ORA-06550: line 1, column 7: PL/SQL: Statement ignored

解决:

debug Server,发现报错:

Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir

该错误的解决:http://hi.baidu.com/fgfd0/blog/item/ed1b1c388bb4a6f4b311c721.html

直接在数据库上执行存储过程,9i正常,10g报错:ORA-06575 Package or function is in an invalid state

在oracle sql developer 中dependencies发现,PROCEDURE_INSERTDE的状态是invalid

看数据库的procedures项,发现很多存储过程是有错误的。

原来这个问题的错误原因是:改了表中字段,存储过程并没有跟着一起改,所以存储过程出错啦!

这个数据库表是师兄用PD建的,建了之后,用一个工具自动生成了一些存储过程,这个工具默认生成sql server的,师兄又处理成了oracle的。

呵呵 下面要改存储过程啦。之前几乎没接触过存储过程呢!

 

转载于:https://www.cnblogs.com/gracexiao/archive/2012/03/19/2406307.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值