我正在处理使用一些复杂逻辑在JDBC CallableStatement中绑定IN和OUT参数的遗留代码。该代码看起来好像为IN和OUT参数绑定了正确的类型,但是当执行CallableStatement时,Oracle存储过程将引发以下异常:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'STORED_PROC_ABC'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
“
line 1, column7:
”没有帮助。它没有指向存储过程中的任何内容。我编写了一个简单的独立测试用例,它调用了存储的proc。具有与旧版代码相同的参数和绑定类型,并且成功。
我需要一种比较旧代码和我的独立测试中的两个CallableStatement对象的方法,以了解有什么不同。
有没有办法从CallableStatement获取相关的参数绑定信息(值和类型)?如果有一些第三方库可以做到这一点,那就太好了,否则我将需要一种方法来挖掘各种绑定。
谢谢。
最佳答案
您可以使用CallableStatement.getParameterMetaData()
http://download.oracle.com/javase/1.4.2/docs/api/java/sql/ParameterMetaData.html
关于java - 如何从CallableStatement获取所有参数绑定(bind)信息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6671546/