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