|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() Inscription : novembre 2006 Messages : 5 064 ![]() |
Bonjour,
J'ai un problème à l'exécution d'une procédure (invoquée par un prepareCall en java). Le programme (CLP) est bien appelé, le problème est lié au contexte d'exécution du programme... ![]() Il semble que les modifications de la liste des bibliothèques ne soient pas prisent en compte (ou du moins partiellement) parce que l'exécution d'un QMQRY (en l'occurrence un "delete from NomTable") se plante avec "NomTable" n'est pas trouvée dans la bibliothèque du programme appelant (hors aucune bibliothèque n'a été spécifiée là, et la liste des bibliothèque a été modifiée pour contenir celle qu'il faut Bref, si quelqu'un a une idée... A+ |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() |
Bonjour.
C'est curieux !! AMHA il faut vérifier qu'il n'y a pas de qualif. explicite dans la QM. Vérifier que les overrides sont bons, sinon les supprimer avant. (des remanences). Cordialement Hédhili Jaïdane - - - - - - - - - |
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : novembre 2006 Messages : 5 064 ![]() |
Pour être curieux, c'est curieux
![]() J'ai peut-être une piste avec le schema... Ce pourrait-il que le schema (établit ou non lors de la création de la connection JDBC) soit prioritaire sur les changements de bibliothèques dans la liste des bibliothèques fait par le programme (une forme de cloisonnement) ? |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() |
Désolé, je n'ai pas beaucoup de pratique avec les shémas et je n'ai pas d'AS/400 en ce moment pour regarder plus loin.
HJ |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : février 2007 Messages : 56 ![]() |
Bonjour,
Si j'ai bien compris, dans ta Procédure stockée tu appelles un CLP qui fait un STRQMQRY ? Dans cette commande, as tu vérifié la pramètre Convention de nommage (SQL ou SYS) ? En convention de nommage SLQ, la LIBL n'est pas utilisé : on travaille à la mode DB2 UDB, c'est à dire, recherche dans un schéma dont le nom est identique à l'ID de connexion, puis dans les LIBs système (QSYS, QSYS2, ..) C. |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
il y a des chances pour que ce soit le schéma.
Un schéma sous SQL correspond à une bibliothèque sous l'AS/400. Aucun schéma ne devrait être référencé dans les instructions lors de l'exécution. Supprime donc toute mention au schéma ou qualification dans tes instructions et refais un essai. Si tu n'arrives toujours pas à faire fonctionner ta prosto, colle ici le CL et le CREATE PROCEDURE correspondant pour qu'on puisse t'aider au mieux. |
|
|
00
|
|
|
#7 | ||
![]() ![]() Inscription : novembre 2006 Messages : 5 064 ![]() |
Bon, désolé pour le retard, mais voici les derniers avancements...
Le CLP qui fait le STRQMQRY utilise bien la convention de nommage *SYS, cependant, il n'en tient pas compte (??? )J'ai testé en modifiant les paramètres de la connexion comme suit : Code :
![]() Donc, ça suppose de qualifier toutes les tables dans les requêtes ce qui est gênant (encore que, ça évite des fois de modifier une table à la place d'une autre... mais là, ce n'est pas moi qui décide )Bref, si quelqu'un a une idée pour que les requêtes utilisent la liste des bibliothèques, je suis preneur... Merci |
||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Je me demande si la liste des bibliothèques prise en compte ne serait pas plutôt celle associée à la JOBD (ou au profil) d'exécution du programme CL.
Il a bien fallu se signer d'une façon ou d'une autre sur l'AS400 pour pouvoir accéder aux données. Or, chaque travail sur l'AS400 a besoin d'une JOBD pour fonctionner. Reste à voir si la *LIBL prise en compte ne serait pas la liste qui est associée profil de signature ? Je ne connais pas et donc n'ai pas utilisé Java dans un contexte C/S mais en revanche j'ai pratiqué VBA et Windev-Webdev. Je me rappelle avoir géré la liste des biblio. avec les commandes CHGCURLIB et CHGLIBL dans les scripts Webdev ou VBA juste avant d'invoquer par un CALL SQL la procédure RPG IV stockée sur DB2/400. Evidemment, on a toujours l'ultime ressource de mettre la liste des biblio. au début du programme CL INITDATA avec la commande CHGLIBL par exemple. Mais, bon ! c'est pas terrible pour la maintenance mais je pense c'est toutefois moins pire que de qualifier le nom des tables avec la biblio. puisque toutes les biblio. sont localisées et rassemblées sur une seule commande en début de traitement dans le CL initial. Tiens-nous au courant quand même. |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() ![]() |
Salut.
Regarde aussi dans les jobd associées au profil de connexion et celles associées aux profils QUSER et QSYS (divers serveurs de connexions, ...). C'est peut être une piste. Cordialement Hédhili Jaïdane - - - - - - - - - |
|
|
00
|
|
|
#10 | |
![]() ![]() Inscription : novembre 2006 Messages : 5 064 ![]() |
Citation:
![]() Sûr que si je trouve un truc, je vous tiens au courant... |
|
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Est-ce que chaque requête établie sur le client ne générerait pas un job chaque fois différent sur l'AS400, par hasard ? Et comme les requêtes ne passeraient pas par le CL initial, tu te retrouverais avec la liste des biblio d'origine, donc ton problème actuel de liste des biblio...
|
|
|
00
|
|
|
#12 | ||
![]() ![]() Inscription : novembre 2006 Messages : 5 064 ![]() |
Bon, ça y est, j'ai trouvé
![]() Pour ceux que ça intéresse, voici la "subtilité" du 400 au travers de JDBC ![]() Pour créer la connection, il faut passer par un fichier de propriétés comme ceci : Code :
(bonjour le truc de dingue ...)Voilà, merci à ceux qui ont essayer de m'aider... A+ |
||
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Encore un coup tordu à la IBM... Comme quoi, Java et IBM ne font pas bon ménage, surtout après l'infecte publicité qui a été publiée il y a qq années genre : "Si tu ne veux pas te plier à Java, alors tu ferais mieux d'aller faire des hamburgers chez Mac Donald's".
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com