2009-02-02 7 views
1

Je reçois l'exception suivante lors de l'exécution d'une insertion dans une base de données Oracle à l'aide de JDBC.Est-ce que quelqu'un peut m'expliquer cette Exception JDBC?

java.sql.SQLRecoverableException: Io exception: Unexpected packet 

Qu'est-ce qui pourrait causer cela et comment puis-je en récupérer?

L'application que j'écris effectue un grand nombre de mises à jour de la base de données en succession rapide. A en juger par l'exception je suppose qu'il s'agit d'un problème de réseau, mais la base de données est sur la même case que mon application.

Je n'ai pas de trace de la pile, ce qui est un de ces irritants « Travaux sur ma machine » problèmes » où il Borks quand je l'ai mis sur un site client.

Malheureusement, je dois jeter ensemble quelque chose qui va réparer ce/diagnostic, mais le site client ne jette des données à mon application entre 17 heures et 21 heures quand je suis hors du bureau ...

J'ai quelques heures pour élaborer mes éventualités cependant ...

Toutes les pensées

Problème résolu:

C'était un problème de synchronisation.

+0

Avez-vous trouvé une solution à votre problème? Était-ce lié au multithreading? – paweloque

+0

Je suis assez sûr que j'ai résolu ceci, et c'était parce qu'il y avait plusieurs threads utilisant le même conducteur. –

+0

Tous les curseurs/résultats non fermés? – aldrinleal

Répondre

5

Êtes-vous par hasard en utilisant plusieurs threads et oublié la synchronisation?

+0

oui, probablement, je verrai si c'est la cause première. –

1

Cela ressemble à un problème de pilote, existe-t-il un pilote mis à jour pour la version du serveur que vous utilisez? Assurez-vous également que vous n'avez pas d'anciennes versions du fichier ojdbc dans votre classpath.

0

Combien d'insertions dans un lot?

Dans certaines conditions, il est conseillé d'avoir un seuil de validation dans une transaction. Si vous faites des transactions, vous devez en être conscient.

btw, des traces de pile?

Questions connexes