Qu'est-ce que l'erreur ORA-12571 (TNS: paquet échec d'écriture) signifie dans un service Web?

StackOverflow https://stackoverflow.com/questions/1579605

Question

Historique : J'appelle un service Web écrit en ASP.NET qui interroge une base de données Oracle. Je sais que le service Web lui-même fonctionne, parce que je l'ai utilisé avant d'autres applications. J'ai donc une application Web dans Visual Studio que j'ai commutation avant et en arrière au point à partir d'un service Web DEV 'à une version configurée de production du même service Web pour les tests. Signalant au service Web DEV 'configuré est pas de problème, mais d'appeler la version de production, je reçois toujours une exception appelant le service:

SoapException was unhandled by user code
Server was unable to process request. ---> could not execute query
[ SELECT this_.FIELD1 as FIELD1_18_0_, this_.FIELD2 as FIELD12_18_0_ FROM ABC.TABLE_A this_ WHERE this_.FIELD1 like :p0 ORDER BY this_.FIELD1 asc ]
Positional parameters:  #0>00073%
[SQL: SELECT this_.FIELD1 as FIELD1_18_0_, this_.FIELD2 as FIELD12_18_0_ FROM ABC.TABLE_A this_ WHERE this_.FIELD1 like :p0 ORDER BY this_.FIELD1] ---> ORA-12571: TNS:packet writer failure

J'ai couru les requêtes SQL sur la base de données appropriée (coupé et collé tout droit sorti du message d'exception) et la requête revins avec les données attendues. J'ai essayé la mise à jour et re-ajouter la référence de service Web à la fois comme un « service de référence » (de façon .NET 3.0+) et comme un « Web de référence » (ancien de façon .NET), et les deux donnent la même erreur.

Question : Alors, qu'est-ce une "ORA-12571: TNS: paquet échec writer" erreur signifie dans le contexte d'un service Web? Vous recherchez le numéro d'erreur Oracle donne quelques causes possibles très vagues telles que « connexion lâche câble » ou « conflit d'adresse IP ». Je suis assez certain que ce n'est ni de ceux-ci, depuis une autre application utilise actuellement avec succès que le service Web. Peut-être une sorte d'erreur de configuration, ou peut-être quelque chose de plus subtil? Quelqu'un a vu ailleurs ce numéro d'erreur frustrante Oracle étant attribué à quelque chose de services Web liés?

Était-ce utile?

La solution

Votre appel va du client au serveur ws ws à la base de données Oracle.

Votre erreur est une erreur ORA, qui est généré par la base de données. Donc, votre problème est probablement entre le serveur et la base de données ws.

Lorsque vous avez exécuté « les requêtes SQL sur la base de données appropriée », avez-vous le faire à partir du serveur web? Si vous ne pourriez pas essayer. Assurez-vous que vous utilisez la même configuration de connexion.

EDIT

Selon le commentaire ci-dessous, le vrai problème est une incompatibilité de pilote.

Autres conseils

Je suggère REVISITER votre plus attentivement les hypothèses, comme cela est clairement une erreur dans le dialogue service web avec le db et devrait être complètement indépendant de l'appelant du w /.

Si l'appel w / s génère cette exception spécifique, il devrait être le faire pour tous les autres invocations, de sorte que votre « autre application » qui est à l'aide du service Web est avec succès tout simplement pas d'exécuter le même code ou il y a des facteurs extérieurs à jouer.

De toute façon, il est sans rapport avec la façon dont le service est enregistré ou invoqué.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top