|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Développeur Java Inscription : octobre 2011 Messages : 82 ![]() |
Bonjour chers Collègues !
Je suis actuellement en train de développer une application en java qui attaque une base de données de type DB2 qui se situe sur un serveur AS400. Ma connexion s'effectue et c'est lorsque je fais mon SELECT que l'erreur fatidique apparait. J'ai une table dans laquelle il y a plusieurs colonnes. Je peux faire un SELECT sur n'importe quelle colonne mais lorsque je le fais sur celle-ci en particulier, j'obtiens : Message: [SQL0443] *N SQLState: 38501 ErrorCode: -443 Je suis allé voir sur le site d'IBM pour découvrir la description de cette erreur : SQL0443 Message Text: Trigger program or external routine detected an error. Cause Text: Either a trigger program, external procedure, or external function detected and returned an error to SQL. If the error occurred in a trigger program, the trigger was on table &4 in schema &5. If the error occurred in an external procedure or function, the external name is &4 in schema &5. The associated text is &6. If the error occurred in a trigger program, the associated text is the type of trigger program. If the error occurred in an external function, the associated text is the text of the error message returned from the external function. Recovery Text: Refer to the joblog for more information regarding the detected error. Correct the error and try the request again. SQLCODE or SQLCODEs: -443 SQLSTATE or SQLSTATEs: 38xxx, 38501 Lorsque je teste ma requête sur Iseries (émulateur pour l'AS400), cette dernière fonctionne parfaitement. S'agit il des différents caractères qui peuvent se trouver dans cette colonne nommée 'NOM' (dans laquelle on retrouve des noms avec des & ou des ' ou des - ou des espaces ou des points) ? Code :
PS : certains commentaires sont des brouillons et des tests pour trouver certaines erreurs, si vous voulez quelque chose de plus clair, je peux supprimer ce qui est inutile pour la compréhension de ce problème |
||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Tony Développeur .NET Inscription : novembre 2010 Messages : 570 ![]() |
Bonjour,
les " ' " peuvent l'embêter, mais si tu as été en mesure de les y mettre je trouve très étrange que tu ne sois pas en mesure de les récupérer |
|
|
10
|
|
|
#3 |
|
Futur Membre du Club
![]() Développeur Java Inscription : octobre 2011 Messages : 82 ![]() |
J'ai essayé de récupérer une ligne dans laquelle il y avait un nom sans caractères et sans espaces.
J'ai eu le même soucis (je suppose que c'est normal car il doit parcourir la colonne jusqu'à ce qu'il trouve ce nom et passe donc par des caractères ' ou autres). Bref, ça m'avance pas plus hihi mais depuis ce matin je parcours les divers forums que ce soit anglais ou fr et personne n'est en mesure de me répondre ... Qui veut faire son Barney Strinson et me faire un joyeux "Challenge accepted !" ? |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Guillaume VENTREz/OS Technical Leader Inscription : décembre 2006 Messages : 514 ![]() |
Hello,
Comment attaques-tu la DB, JDBC ou ODBC ? Ci-après, une réflexion qui se transformera peut-être en piste, je me base sur mon expérience sur DB2 for z/OS attaqué par un driver CLI/ODBC. Comme tu n'appelles pas personnellement de routine (fonction, trigger ou procédure stockée), ce doit être le driver qui fait appel à une procédure stockée pour récupérer des metadatas par exemple. Si tu rajoutes des traces à ton driver tu devrais pouvoir avoir des informations pertinentes.
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★ |
|
10
|
|
|
#5 | ||
|
Futur Membre du Club
![]() Développeur Java Inscription : octobre 2011 Messages : 82 ![]() |
Code :
Je ne sais pas ce que je peux dire de plus (je me suis remis au java il y a peu aussi |
||
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Guillaume VENTREz/OS Technical Leader Inscription : décembre 2006 Messages : 514 ![]() |
Donc tu utilises le driver JDBC. Je sais comment activer les traces CLI/ODBC sur unix et windows mais pas JDBC sans effectuer de recherche.
Si tu n'as pas d'autres réponses, essai de chercher comment activer les traces JDBC. .
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★ |
|
10
|
|
|
#7 |
|
Futur Membre du Club
![]() Développeur Java Inscription : octobre 2011 Messages : 82 ![]() |
J'ai effectué pas mal de recherches avec un collègue au bureau qui lui connait bien l'environnement dans lequel je voulais effectuer ma requête.
Il a eu du mal également mais a réussi à trouver de quoi venait le problème. Ma requête attaque en fait une vue. Dans cette vue, il y a de nombreuses procédures d'utilisateur qui sont utilisées. On en a déduit que le problème venait de là. Mon collègue a donc copié le résultat de cette vue (disponible sous l'émulateur as400 si tu me suis toujours Qu'en penses tu ? Moi j'ai vomis 3 fois
|
|
|
00
|
|
|
#8 |
|
Membre chevronné
![]() Guillaume VENTREz/OS Technical Leader Inscription : décembre 2006 Messages : 514 ![]() |
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★ |
|
10
|
|
|
#9 |
|
Futur Membre du Club
![]() Développeur Java Inscription : octobre 2011 Messages : 82 ![]() |
Merci en tout cas !
Passe une excellente journée, la mienne s'annonce pas mal désormais haha |
|
|
00
|
|
|
#10 | |
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 821 ![]() |
Citation:
|
|
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 821 ![]() |
Pour info les AS/400 n'existent plus, on l'appelle désormais un "IBM i"
|
|
|
00
|
|
|
#12 |
|
Membre émérite
![]() Tony Développeur .NET Inscription : novembre 2010 Messages : 570 ![]() |
L'AS400 n'existe plus ?
Pourquoi alors si tu fais une simple recherche google iSeries et AS400 sont distingués ? Exemple pour le premier résultat d'une recherche avec "IBM i" "IBM i for Power Systems y compris AS/400, iSeries et System i." |
|
|
10
|
|
|
#13 |
|
Futur Membre du Club
![]() Développeur Java Inscription : octobre 2011 Messages : 82 ![]() |
si ça existait plus j'aurai vomis pour rien
|
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 821 ![]() |
|
|
|
00
|
|
|
#15 |
|
Membre émérite
![]() Tony Développeur .NET Inscription : novembre 2010 Messages : 570 ![]() |
http://www-03.ibm.com/systems/fr/i/
Donc IBM sur son propre site se mélange lui-même les pinceaux sur ses propres systèmes... |
|
|
00
|
|
|
#16 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 641 ![]() |
Pourquoi donc ?
Essayez d'acheter un as400 sur le site d'ibm l'as400 est mort en 2000, aujourd'hui ibm vend des power system (depuis 2008) et le soft s'appel IBM i |
|
|
00
|
|
|
#17 |
|
Membre émérite
![]() Tony Développeur .NET Inscription : novembre 2010 Messages : 570 ![]() |
Et donc IBM a gracieusement offert le nouveau soft à tous ses clients ?
|
|
|
00
|
|
|
#18 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 641 ![]() |
je ne retrouve pas l'article original, celui-là étant un plagia copy/past ..
http://www.developpez.net/forums/d95...power-systems/ Bref utilisez le terme que vous préférez, perso je m'en tappe. |
|
|
00
|
|
|
#19 |
|
Membre émérite
![]() Tony Développeur .NET Inscription : novembre 2010 Messages : 570 ![]() |
Encore pire, les machines qui ne sont plus des AS400 mes des Iseries ou autre, je ne pense pas qu'elles aient été offertes pour remplacer les AS400.
Ok ce n'est plus produit, mais pour autant ça existe encore. C'est comme si tu me dit les NES ça n'existe plus ... |
|
|
00
|
|
|
#20 |
|
Futur Membre du Club
![]() Développeur Java Inscription : octobre 2011 Messages : 82 ![]() |
Et j'en ai vu à la braderie de ma tite ville ce week end haha
Sinon, vi ce n'est plus produit, mais ça existe encore et c'est pas encore mort puisque malgré qu'il existe des soft plus puissants, l'AS/400 reste tout de même bien utile pour les boîtes qui se basent dessus depuis plus de 10-20 ans. Donc dans mon cas (et pas dans mon cul Maintenant, aimez vous les uns dans les autres, esclaves !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com