Page 1 sur 1

acces a des BdD distantes via jdbc

Posté : mar. 04 août 2015, 12:08:05
par Le Manach
Je cherche, via une connexion JDBC à une machine A, accéder à une BdD d'une machine B.
A priori il faut ajouter la BDD de la machine B avec WRKRDBDIRE (en faisant attention quelle est bien le meme nom des 2 cotés). C'est ensuite que je bloque ...
Je crois qu'il y a des modules DB2 à installer mais lesquels et sur quelle machine ?

Merci d'avance

Posté : mar. 04 août 2015, 12:33:07
par cmasse
Je crains qu'il n'y ait confusion.


WRKRDBDIRE permet d’accéder à une base DB2 éloignée en mode natif SQL.
Après avoir enregistré la base, il faut utiliser l'ordre CONNECT TO, soit sous STRSQL soit dans un pgm RPG/COBOL.


JDBC permet d'accéder à des bases éloignées (tout type) depuis une application écrite en java. WRKRDBDIRE est inutile, par contre le driver JDBC (à télécharger) doit être placé dans l'IFS et ajouté au CLASSPATH.


Enfin, pour accéder à une base éloignée non DB2 depuis une application RPG, voyez le projet JDBCR4, qui lui utilise un driver JDBC via JNI (Java Native Interface) http://www.scottklement.com/jdbc/

Posté : mar. 04 août 2015, 16:06:10
par Le Manach
Je pense m'être mal exprimé, je suis en fait avec Squirrel SQL connecté à un AS400 "A" et je souhaite faire des requetes de type :
select * from as400B.bib1.fic1.

Pour être précis cette requete fonctionne dans l'autre sens c'est a dire : select * from as400A.bib1.fic1 a partir d'une connexion jdbc sur l'AS400B.

les 2 AS sont en V7R1.

Y a t-il un lien avec le package QSQCLIPKGN de type *SQLPKG dans QGPL qui est dans l'AS400 "A" et pas dans "B" ? si oui comment le met-on ?

Cordialement

Posté : mer. 05 août 2015, 07:36:02
par cmasse
OK, je comprends mieux.

Pour accèder à une base éloignée on peut utiliser CONNECT TO ou la dénomination en 3 parties.

AVEC CONNECT TO on peut saisir profil/mot de passe


Avec la dénomination en 3 partie (machine.biblio.table) la connexion doit être implicite. pour cela deux possibilités :

. SSO (config EIM)
. ADDSVRAUTE

ce dernier point permet d'enregistrer à l'avance et par machine, profil/mot de passe à envoyer.

ca a du être fait sur A et pas sur B ?

Posté : mer. 05 août 2015, 12:02:50
par Le Manach
Merci pour ces infos mais le souci doit être ailleurs car sous Sys i navigator, dans l'option réseau des profils utilisateur, je n'ai pas de serveur éloigné (ni sur l'AS400 A, ni sur B).

Je pense en plus être coincé une fois ce problème d'accès réglé car j'ai l'impression qu'il n'est pas possible de faire une jointure entre une table locale et une table distante...

cordialement

jointure

Posté : mer. 05 août 2015, 13:10:26
par cmasse
Oui, je confirme, pas de jointure muli-systèmes.

la seule opération "bizarre" admise est

Code : Tout sélectionner

INSERT INTO TABLELOCALE (select * from autresysteme.bilbio.tabledistante where ....
par contre DB2 web Query sait le faire !