我在直接模式下遇到了一些奇怪的参数化查询问题。
基本上如果我在已经包含唯一行的表上执行插入操作,我会得到一个预期的插入异常。在插入异常之后,我使用相同的连接来获取已锁定数据的信息以报告用户(我知道此时连接仍然很好)。然后关闭此连接并返回到池中,所有这些都可以按预期进行。
稍后从池中获取此连接时,我尝试执行简单的更新参数化查询,并得到以下异常:ORA-01008:并非所有变量都绑定。如果所有变量都没有绑定,这将是有意义的,但是看看OracleParameter集合我可以清楚地看到所有参数都存在并且它们的值是正确的。更不用说在从池中为池中的其他连接获取此连接之前,此查询会多次运行,因为它是针对每个客户端请求更新的常规更新表。此外,所有这些代码都能正常使用oracle客户端关闭直接模式(与直接模式完全相同的代码和查询执行)。
基本上,出于某种原因,在执行插入操作时,在直接模式下,连接被关闭并放回到池中,连接变得损坏,再次使用参数化查询时会失败。
我会生成一个简单的样本,但唯一的问题是这个问题在一个简单的情况下不能可靠地重现。
的信息:
如果有人遇到此问题或有任何想法,我们将非常感谢您的帮助
感谢