Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/09/2011, 15h39   #1
Invité régulier
 
Femme Annie
Développeur informatique
Inscription : août 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : Femme Annie
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique
Secteur : Santé

Informations forums :
Inscription : août 2011
Messages : 19
Points : 9
Points : 9
Par défaut stored procedure sur AS400 appelée par Java

Est-ce qu'il est possible dans Java d'appeler une "stored procedure" sur AS400 sans préfix ?

Exemple: "call QGPL.StoreProcName()"

Est-il possible de faire "call StoreProcName()" en Java et le système exécutera la première trouvée dans le librairie list ?

Même chose pour les requêtes SQL, j'aimerais ne pas avoir à mentionner la librairie du fichier dans un select.

Exemple: Select field1, field2 from LIBRAIRIE.FILENAME;

J'aimerais mieux Select field1, field2 from FILENAME; Et selon le librairie list de la connection, le programme prendrait le premier fichier trouvé.

C'est que nous avons 3 environnements, ce qui les séparent c'est un librairie list différent avec les mêmes nom de fichier.

Exemple: Mon fichier produit ICITEMP se retrouve dans 3 librairies différentes. Sur AS400 nous changeons le librairie list quand l'utilisateur choisi le menu et les programmes RPGLEs se pointent sur le bon fichier.

Merci

Annie
annstger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 18h09   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 641
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 641
Points : 2 634
Points : 2 634
ton code java se trouve où ? une appli qui tourne sur un serveur d'application ?

Si oui, c'est possible, faut juste bien renseigner ta datasource.
punkoff est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 22h04   #3
Invité régulier
 
Femme Annie
Développeur informatique
Inscription : août 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : Femme Annie
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique
Secteur : Santé

Informations forums :
Inscription : août 2011
Messages : 19
Points : 9
Points : 9
Le code java est sur le AS400. Nous utilisons WAS comme server.

Je me trouve à développer du côté AS400 et créer les stored procedures. Je ne connais pas Java et les développeurs Java ne connaissent pas le AS400, alors ce n'est pas évident de se comprendre.
annstger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 23h21   #4
Membre Expert
 
Patrick
Inscription : mai 2008
Messages : 821
Détails du profil
Informations personnelles :
Nom : Patrick
Âge : 42
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mai 2008
Messages : 821
Points : 1 041
Points : 1 041
Pour pouvoir faire un CALL sans qualifier le schéma, dans le dit PUNKOFF, dans ta datasource (au niveau de Websphere) utilises la convention *SYS au lieu de *SQL.

Pour pouvoir faire des SELECT sans qualifier les tables, quand tu créés tes procédures, fonctions, triggers etc... tu te mets aussi sous convention *SYS.
Il te faudra donc recréer tes procédures.

Sous quelle interface créés-tu les procédures ? (écran vert, navigator, Squirrel, autres.... )
K2R400 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 13h48   #5
Invité régulier
 
Femme Annie
Développeur informatique
Inscription : août 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : Femme Annie
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique
Secteur : Santé

Informations forums :
Inscription : août 2011
Messages : 19
Points : 9
Points : 9
Les "stored procedures" sont créées avec l'utilitaire SQL sur le iseries (écran vert). Elles sont liées à des programmes SQLRPGLE. Je n'ai aucun problème à les exécuter avec ISeries Navigator car je les utilise sous convention *SYS.

La majorité des commandes SQL seront à l'intérieur des programmes SQLRPGLE et dans certain cas ce pourrait être des scripts SQL. Il n'y a pas de problème à ce niveau, je n'ai pas à préciser le schéma. C'est dans les programmes Java que l'on doit préciser. Même chose pour l'appel des "stored procedures", nous devons préciser le schéma pour Java seulement.

Les programmes Java sont développés sous éclipse sur PC mais exécuter sur ISeries avec WAS et JVM sur ISeries.

Si je comprend bien c'est une configuration sur WebSphere et non un paramètre de connection ou une configuration au niveau des programmes Java.

Merci de votre aide.

Annie
annstger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 21h09   #6
Invité régulier
 
Femme Annie
Développeur informatique
Inscription : août 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : Femme Annie
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique
Secteur : Santé

Informations forums :
Inscription : août 2011
Messages : 19
Points : 9
Points : 9
J'ai essayé de modifier mon datasource JDBC sur mon serveur sur le ISeries, dans la section "libraries" j'ai ajouté mon librairie list et dans la section "naming" j'ai inscrit system.

Dans le programme java, les noms de storeproc sont appelés sans schéma et le système ne les trouves pas. Est-ce qu'il y a un autre paramètre à changer ?

Merci

Annie
annstger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2011, 10h08   #7
Membre Expert
 
Patrick
Inscription : mai 2008
Messages : 821
Détails du profil
Informations personnelles :
Nom : Patrick
Âge : 42
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mai 2008
Messages : 821
Points : 1 041
Points : 1 041
Citation:
Envoyé par annstger Voir le message
Dans le programme java, les noms de storeproc sont appelés sans schéma et le système ne les trouves pas. Est-ce qu'il y a un autre paramètre à changer ?
Non excepté renseigner la *LIBL.
K2R400 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 19h12   #8
Invité régulier
 
Femme Annie
Développeur informatique
Inscription : août 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : Femme Annie
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique
Secteur : Santé

Informations forums :
Inscription : août 2011
Messages : 19
Points : 9
Points : 9
Voilà comment j'ai réglé mon problème.

J'ai modifié mon datasource JDBC sur mon serveur sur le ISeries, dans la section "libraries" j'ai laissé à blanc et dans la section "naming" j'ai inscrit system. Même configuration sur WAS sur le PC des développeurs.

Maintenant, le système recherche dans le "library list" du UserID du pool de connection, la "stored procedure" et les tables.

Merveilleux !!!

Annie
annstger est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h46.


 
 
 
 
Partenaires

Hébergement Web