使用Struct
对象将数据从 java 发送到数据库存储过程。
对于这个需要StructDescriptor
类,使用下面的代码创建。
StructDescriptor.createDescriptor(sqlTypeName, conn);
在我的 spring 应用程序中,当我第一次执行此语句时。上面的语句在返回structDescriptor
对象的同时保留在连接对象中。
正如我在StructDescriptor
类代码(API 代码)中看到的,
((oracle.jdbc.OracleConnection) conn).putDescriptor(qualifiedName, descriptor);
第二次开始,使用相同的连接,并且对象来自连接对象(不是新创建的)。
所以,如果我在数据库中编译对象类型并调用存储过程会抛出异常说
invalid data type..
在这里,我不想StructDescriptor
从 Connection 中获取对象。而不是再次从连接对象获取它需要重新创建。我可能要求每次在调用以下语句之前,最好从连接对象中删除描述符。但我不能
StructDescriptor.createDescriptor(sqlTypeName, conn);
..
如何从连接中删除描述符(从连接池中获取)?