- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我尝试了下面的代码:
public class Abc {
private ArrayDescriptor arrayDesc;
void init() {
connection = //create connection
arrayDesc = ArrayDescriptor.createDescriptor("DBTYPE",connection);
}
void m1() {
conn1 = //create connection
ARRAY array_to_pass1 = new ARRAY( arrayDesc , conn1, idsArray1 );
}
void m2() {
conn2 = //create connection
ARRAY array_to_pass2 = new ARRAY( arrayDesc , conn2, idsArray2 );
}
}
此代码给出以下错误:
table.java.sql.SQLException: Missing descriptor at oracle.sql.DatumWithConnection.assertNotNull(DatumWithConnection.java:103)
如何解决?
最佳答案
ArrayDescriptor已弃用。假设您的 connection
对象的类型为 OracleConnection , 尝试使用 createOracleArray相反 - 像这样:
public class Abc {
void init() {
connection = //create connection
}
void m1() {
conn1 = //create connection
array array_to_pass1 = conn1.createOracleArray(arrayDesc, idsArray1);
}
void m2() {
conn2 = //create connection
array array_to_pass2 = conn2.createOracleArray(arrayDesc, idsArray2);
}
}
注意:使用此方法,数组的类型将为 java.sql.Array
而不是 oracle.sql.ARRAY
。
关于java - 如何复用 ArrayDescriptor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48336475/
oracle.sql.ArrayDescriptor 的实例是线程安全的吗? API http://docs.oracle.com/cd/E16338_01/appdev.112/e13995/ora
我尝试了下面的代码: public class Abc { private ArrayDescriptor arrayDesc; void init() { connec
今天,当数据库更新但 Web 应用程序未重新启动时,我们的 Web 应用程序出现了问题。 经过调查,我们发现在数据库更新期间,一个用户定义的类型被删除并再次创建。 类型没有改变 - 它只是被删除并使用
我在 Web 应用程序中创建 ArrayDescriptor 时收到 ClassCastException。我正在使用 jndi 查找从 Tomcat DBCP 连接池获取连接。我正在使用 ojdbc
我正在尝试从我的持久层中抽象出一些实现细节。就目前情况而言,我有两个函数,一个用于创建 ARRAY ,另一个用于创建 ArrayDescriptor 。我目前正在利用 HSQL 编写测试,并不断遇到一
我使用下面的 JDBC 代码调用一个接受数组输入的 Oracle 存储过程。 但以下三个类已弃用。如何更换这个? import oracle.sql.ArrayDescriptor; import o
我是一名优秀的程序员,十分优秀!