ORA-22337:已经发展了访问对象的类型 - 在应用程序中

时间:2014-10-23 21:58:36

标签: asp.net oracle odp.net user-defined-types

设置:使用Oracle后端的ASP.Net应用程序,我们利用用户定义类型(UDT)并使用ODP.Net在前端和后端之间进行通信。

问题:我不得不改变我的一个UDT属性长度,一旦我这样做并在后端测试它工作正常,但当我运行我的网站时,我一直得到ORA-22337错误(在主题行中)!!

如果您在线研究此问题,您将找不到太多,除了无用的Oracle错误文档之外,您将找不到任何有用的信息。 Oracle文档说要关闭并重新打开连接,但这不适用于我的场景

我已经通过删除和重新创建UDT和NT来解决了这个问题,但是每次我需要修改我的一个核心UDT时,这都是效率低下,任何想法如何解决这个问题没有丢弃并重新创建一切?

1 个答案:

答案 0 :(得分:2)

如果错误信息显示“关闭并重新打开连接”作为解决方案并且您正在使用其中包含连接池的OracleConnection,则只需关闭()连接就不够好了。它会回到游泳池仍然打开,当你“重新连接”时,你会再次回来。您需要关闭所有打开的连接,然后调用ClearPool()以确保删除池中的所有旧连接。