|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 48 ![]() |
Bonjour,
J'ai une procédure stockée qui me renvoie une valeur: Code :
Code :
J'ai essayé de mettre des SET CURRENT PATH / SET CURRENT SCHEMA avant le SELECT qui appelle la procédure stockée mais rien à faire... Une idée? Merci! |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Essaie en modifiant d'abord la current library avec la commande
|
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 48 ![]() |
Déso mais CHGCURLIB est une commande AS400 et pas une instruction SQL...
PS: il s'agit tjrs de la même fonction scalaire et pas procédure stockée |
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Citation:
|
|
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 48 ![]() |
Ok, déso mais je ne suis pas sur un programme qui tourne sur l'as400 mais dans un programme java qui tourne sous windows et envoie des requêtes sql à l'as400... Je ne pense donc pas être en mesure d'exécuter une commande as400.
Enfin p-e que je me trompe et merci de prendre le temps de te pencher sur mon problème |
|
|
00
|
|
|
#6 | |||
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Citation:
Regarde également dans les définitions d'environnement d'exécution de Java ou dans je ne sais ni où ni comment comment vous appelez ces définitions. D'un autre côté, je me pose ces questions. Pourquoi faire un curseur et un FETCH plutôt qu'un simple SELECT INTO ? Ta fonction ne peut renvoyer qu'une seule variable à la fois, n'est-ce pas ? La clause WHERE est-elle toujours la même, teste-t-elle toujours les mêmes valeurs ? Code :
|
|||
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 48 ![]() |
Oui j'ai déjà exécuté des commandes as400 à partir de java (appel de programme cl ou cobol) mais cet environnement d'exécution est totalement indépendant de l'environnement sql (simple connexion et envoi de requêtes).
J'ai fait un curseur pour faire un lock de la ligne (avec select ... for update + current of) c'est d'ailleur toi qui m'a rapellé comment on peut faire un lock d'une ligne. Je te tiens au courrant de mes investigations. Merci. |
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 48 ![]() |
Bon je n'ai pas trouvé de solution pour ne pas écrire en dur le schéma (ou librairie) où la fonction doit aller lire les données.
Je suis reparti à 0 pour résoudre mon problème initial qui était de Lire un numéro et l'incrémenter tout lockant la table Je l'ai fait avec java et des transactions: conn.setAutoCommit(false); conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE); UPDATE (--> lock) SELECT UPDATE COMMIT Désolé si je n'ai pas été assez clair dans ma description du problème et merci à toi Mercure d'avoir tenté de m'aider. à+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com