java.sql.SQLException: ORA-01403: pas de données disponibles au struct.getDescriptor().getMetaData()

Je l'aide oracle.sql.STRUCT classe. Par le code suivant :

ResultSetMetaData metaData = struct.getDescriptor().getMetaData();

- Je obtenir cette exception:

java.sql.SQLException: ORA-01403: no data found
ORA-06512: at line 1
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:218) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:969) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1190) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3476) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4400) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]
at oracle.jdbc.oracore.OracleTypeADT.initADTAttrNames(OracleTypeADT.java:2423) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]
at oracle.jdbc.oracore.OracleTypeADT.getAttributeName(OracleTypeADT.java:2246) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]
at oracle.jdbc.driver.StructMetaData.getColumnName(StructMetaData.java:175) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]

Whay exception s'est produite? Quelle est la solution?

Estimation aléatoire, vous avez, voire des noms de colonne dont vous n'avez pas dit Java à attendre... Tout cela signifie, c'est que Java est d'essayer de sélectionner les métadonnées à partir de la base de données et qu'elle n'existe pas.
Merci pour votre commentaire. Lorsque cela arrive? Mon code fonctionne bien mais dans de nouveaux envrironment cette exception s'est produite. Quelle est la solution?
Vous avez deux environnements? L'évidence prochaine chose à faire serait de vérifier (deux fois) que ces milieux sont identiques dans tous les sens, en particulier à ceux des tables utilisées dans le numéro de ligne de votre exception a été levée? Plutôt que de simplement le dumping un trace de la pile sur un Débordement de Pile peut-être il serait mieux si vous faites ce que tout le monde a à faire, de fournir un minimum exemple qui illustre votre problème. Je suppose que cela pourrait inclure le DDL ainsi que Java dans ce cas.
De plus, je recommande la lecture de meta.stackexchange.com/questions/182266/... et meta.stackexchange.com/q/156810.

OriginalL'auteur Sam | 2013-11-17