1
我正在调用来自java的存储过程,并将其作为输出参数给出struct
。下面的代码都可以正常工作。无法将Weblogic结构类型转换为Oracle结构类型
conn = DriverManager.getConnection(URL,"username","password")
StructDescriptor recDescriptor = StructDescriptor.createDescriptor("TCS_CHALLAN",conn);
CallableStatement stmt = conn.prepareCall("{ call xx_get_challan_info(?, ?) }");
Object[] return_record_array = new Object[8];
STRUCT output_oracle_record;
stmt.setObject(1, challan_no);
stmt.registerOutParameter(2, OracleTypes.STRUCT, "TCS_CHALLAN");
output_oracle_record = ((OracleCallableStatement)stmt).getSTRUCT(2);
return_record_array = output_oracle_record.getAttributes();
的问题时,我会在我的weblogic server
从datasource
连接发生。
javax.naming.Context initialContext = new javax.naming.InitialContext();
javax.sql.DataSource dataSource = (javax.sql.DataSource)initialContext.lookup("jdbc/testApps");
conn = dataSource.getConnection();
随着上述conn
对象时,我尝试相同的代码我得到一个错误
weblogic.jdbc.wrapper.Struct_oracle_sql_STRUCT cannot be cast to oracle.sql.STRUCT