Hi All,
I am getting ORA-01403 no data found at the ERROR LINE of the following code.
import oracle.jdbc.OracleCallableStatement;
import oracle.jdbc.OracleTypes;
import oracle.sql.ORAData;
import oracle.sql.ORADataFactory;
//
//
//
Connection connection = OraDAOFactory.createConnection();
OracleCallableStatement stmt=(OracleCallableStatement)connection.prepareCall("{call fullsprocname(?,?,?,?,?,?,?,?,?,?,?)}");
// Lines to set input parameters
stmt.registerOutParameter( 11, OracleTypes.ARRAY, <DTOName>);
stmt.execute();
hArray=(OneViewHierarchyArray)stmt.getORAData(11, OneViewHierarchyArray.getORADataFactory());
if(hArray!=null && hArray.length() > 0)
{
OneViewHierarchy OneViewHierarchy []=hArray.getArray();
for(int i=0;i<OneViewHierarchy.length;i++)
{
OneViewEntityHandlesDto handleDto=OneViewHierarchy.getEntityHandles().getElement(0); //ERROR LINE
}
}
The exception stackTrace is as follows:
java.sql.SQLException: ORA-01403: no data found
ORA-06512: at line 1
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:181)
at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:870)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1081)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2905)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:2996)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4120)
at oracle.jdbc.oracore.OracleTypeADT.initADTAttrNames(OracleTypeADT.java:2043)
at oracle.jdbc.oracore.OracleTypeADT.getAttributeType(OracleTypeADT.java:1847)
at oracle.jdbc.oracore.OracleNamedType.getFullName(OracleNamedType.java:96)
at oracle.jdbc.oracore.OracleTypeCOLLECTION.createArrayDescriptor(OracleTypeCOLLECTION.java:1051)
at oracle.jdbc.oracore.OracleTypeCOLLECTION.unpickle81(OracleTypeCOLLECTION.java:695)
at oracle.jdbc.oracore.OracleTypeCOLLECTION.unpickle81(OracleTypeCOLLECTION.java:675)
at oracle.jdbc.oracore.OracleTypeUPT.unpickle81UPT(OracleTypeUPT.java:441)
at oracle.jdbc.oracore.OracleTypeUPT.unpickle81rec(OracleTypeUPT.java:383)
at oracle.jdbc.oracore.OracleTypeADT.unpickle81(OracleTypeADT.java:1447)
at oracle.jdbc.oracore.OracleTypeADT._unlinearize(OracleTypeADT.java:1169)
at oracle.jdbc.oracore.OracleTypeADT.unlinearize(OracleTypeADT.java:1140)
at oracle.sql.StructDescriptor.toOracleArray(StructDescriptor.java:342)
at oracle.sql.STRUCT.getOracleAttributes(STRUCT.java:348)
at oracle.jpub.runtime.MutableStruct.getLazyDatums(MutableStruct.java:358)
at oracle.jpub.runtime.MutableStruct.getAttribute(MutableStruct.java:140)
OneViewHierarchyArray and OneViewHierarchy are JPublisher generated DTO class mapped with the oracle DTO used.
I tested the procedure from the oracle side and it is returning proper result. But when I debugged it from front end, all the attributes of hArray are NULL though hArray is not NULL.
When I printed the value of hArray.length and OneViewHierarchy.length I got non-zero positive lengths. But got the exception when system tried executing OneViewHierarchy[0].getEntityHandles().
I am not able to understand why it is throwing No Data Found exception when database is returning proper result for same input parameters.
A quick help is needed.
Edited by: ruchiraghosh on Jul 8, 2010 5:44 AM