oracle03115,Another "ORA-03115: unsupported network datatype or representation"

本文介绍了一个在使用 JDK 1.4 和 classes12.zip 调用 Oracle 8.1.7.4 数据库中带有 PL/SQL INDEX TABLE 类型 OUT 参数的存储过程时遇到的问题。该问题导致了 ORA-03115 错误,并探讨了可能的原因及解决方案。
摘要由CSDN通过智能技术生成

Hi,

i scanned through the forum but didnt find any solution to my problem.

Here it is:

I am trying to access an Oracle 8.1.7.4 DB and call a stored procedure with 3 OUT Parameters.

For that i use jdk 1.4 and classes12.zip (Size = 1887 KB).

the code i have is:

public class StoredProcedureCaller {

public StoredProcedureCaller() {

String driver ="oracle.jdbc.driver.OracleDriver";

String address = "jdbc:oracle:thin:@myserver:myport:MYDB";

String user="XXX";

String pass="XXX";

try {

Class driverClass = Class.forName (driver);

Connection conn =

DriverManager.getConnection(address,user,pass);

executeCallableStatement(conn);

}catch (Exception e) {

e.printStackTrace();

}

}

public void executeCallableStatement(Connection conn) throwsSQLException

{

ResultSet cursor = null;

CallableStatement cstmt = null;

cstmt = conn.prepareCall("{? = call XXX.DO_ACT_IF.DO_THIS_AND_THAT(0,'1','2','3','4','5','6','7',? ,?)}");

cstmt.registerOutParameter(1, OracleTypes.INTEGER);

cstmt.registerOutParameter(2, OracleTypes.PLSQL_INDEX_TABLE);

cstmt.registerOutParameter(3, OracleTypes.VARCHAR);

//THE executeQuery fails

cstmt.executeQuery();

.......

}

public static void main(String[] args) {

StoredProcedureCaller spc = new StoredProcedureCaller();

}

-------------------------------

The error i got is a :

java.sql.SQLException: ORA-03115: unsupported network datatype or representation

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)

at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)

at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)

at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)

at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822)

at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1446)

at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371)

at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1900)

at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:363)

at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:314)

at experimentierPackage.StoredProcedureCaller.executeCallableStatement(StoredProcedureCaller.java:70)

at experimentierPackage.StoredProcedureCaller.(StoredProcedureCaller.java:25)

at experimentierPackage.StoredProcedureCaller.main(StoredProcedureCaller.java:101)

I have looked into the classes12.zip and it seems there is no class for the OracleType PLSQL_INDEX_TABLE.

my question is if the mistake is in the classes12.zip and if so if there is any jar or zip which has a mapping for that type.

Any clue ?

Thanks in advance

Kerim Mansour

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值