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 17/03/2006, 14h35   #1
Membre du Club
 
Inscription : août 2004
Messages : 54
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 54
Points : 51
Points : 51
Par défaut [DB2 /Z/OS] accès JDBC type 4

Bonjour,

Je recherche de l'info sur les possibilités et limites de se connecter via JDBC sur un DB2 Mainframe.(DB2 version 7 release 1 ).
Je ne connais pas du tout MVS, un peu DB2 (mais pour linux et pas Z).

Il y a beaucoup de réticence de la part de mon DBA d'ouvrir un accès au sacro-saint DB2.

J'essaie donc de préparer le terrain afin de ne pas me fermer cette possibilité de connexion et d'éviter de fastidieux fichiers de load / replication de la base tant convoitée sur oracle....


faut-il installer / lancer un service coté mainframe ?
quels sont les versions,drivers necessaires ?
y a t'il des limites du a la version Z/OS?

Si vous avez des liens (j'ai pas trouvé beaucoup de chose tout seul).

merci
yopiyop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2006, 17h09   #2
jab
Rédacteur
 
Avatar de jab
 
Homme Jean-Alain Baeyens
SharePoint developpeur
Inscription : février 2004
Messages : 1 172
Détails du profil
Informations personnelles :
Nom : Homme Jean-Alain Baeyens
Âge : 48
Localisation : Belgique

Informations professionnelles :
Activité : SharePoint developpeur
Secteur : Service public

Informations forums :
Inscription : février 2004
Messages : 1 172
Points : 3 131
Points : 3 131
Envoyer un message via ICQ à jab Envoyer un message via MSN à jab Envoyer un message via Skype™ à jab
Si je comprend bien tu as aussi un DB2 pour Linux ?

Si oui pourquoi ne pas demander à ton DBA de réaliser sur le serveur Linux un federate server vers le serveur sur Z/OS. Il garde alors le contrôle et toi tu peux attaquer ta base depuis ton server Linux comme-ci elle se trouvait dessus. Sinon avec JDBC je ne sais pas mais en ODBC, les possibilités sont normalement accessibles. Les perf ne sont pas très bonnes mais je pense qu'il s'agit plus d'un problème d'infrastrucutre que d'un problème de connectique DB2.
jab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2006, 07h47   #3
Membre expérimenté
 
Inscription : mai 2005
Messages : 414
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 414
Points : 589
Points : 589
oui tu peux te connecter au DB2 z/OS par JDBC

Si tu utilises le type 2 , ton programme Java (TP, Batch) doit tourner sur la même machine que le sous système DB2 que tu veux attaquer.

Si tu utilises le driver type 4, la base et le Java peuvent être séparées, tu utiliseras alors la couche TCP/IP du z/OS pour attaquer le DRDA du sous système DB2.
Le type 4 est bien pratique mais logiquement moins performant que le type 2 qui attaque en direct et non par TCP/IP.

Côté limitation, aucune à ma connaissance, si ce n'est que souvent les accès DRDA au DB2 sont souvent bridés par les gens du système au niveau WLM et mis dans des classes peu prioritaires.

Rien à lancer côté z/OS si ce n'est d'avoir un driver JDBC installé, il me semble que ce driver doit résider sur la partie Unix du Z (USS).
gregory.broissard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2006, 10h46   #4
Membre du Club
 
Inscription : août 2004
Messages : 54
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 54
Points : 51
Points : 51
Citation:
Envoyé par jab
Si je comprend bien tu as aussi un DB2 pour Linux ?
non, pas du tout, Je disais que j'avais déjà travaillé sur un DB2/Linux (sans probleme) mais comme les version MVS et linux ont l'air très différente....
yopiyop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2006, 10h53   #5
Membre du Club
 
Inscription : août 2004
Messages : 54
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 54
Points : 51
Points : 51
Citation:
Envoyé par gregory.broissard
oui tu peux te connecter au DB2 z/OS par JDBC

Si tu utilises le type 2 , ton programme Java (TP, Batch) doit tourner sur la même machine que le sous système DB2 que tu veux attaquer.

Si tu utilises le driver type 4, la base et le Java peuvent être séparées, tu utiliseras alors la couche TCP/IP du z/OS pour attaquer le DRDA du sous système DB2.
Le type 4 est bien pratique mais logiquement moins performant que le type 2 qui attaque en direct et non par TCP/IP.

Côté limitation, aucune à ma connaissance, si ce n'est que souvent les accès DRDA au DB2 sont souvent bridés par les gens du système au niveau WLM et mis dans des classes peu prioritaires.

Rien à lancer côté z/OS si ce n'est d'avoir un driver JDBC installé, il me semble que ce driver doit résider sur la partie Unix du Z (USS).
Mon but est de faire du type 4 pur JAVA.
DRDA / USS ? y-a t-il un glossaire qq part qui explique ces termes?
sinon j'ai un peu avancé en obtenant un message d'erreur a la connection qui est un probleme de licence :

Code :
1
2
3
4
5
6
7
8
An error occured while establishing the connection.
   Type: com.ibm.db2.jcc.a.SqlException   Error Code: -99999
Message:
   The version of the IBM Universal JDBC driver IN USE IS NOT licensed FOR connectivity TO QDB2 DATABASES.
     TO connect TO this DB2 server, please obtain a licensed copy of the IBM DB2 Universal
      Driver FOR JDBC AND SQLJ.  An appropriate license file db2jcc_license_*.jar 
      FOR this target platform must be installed TO the application classpath.  
      Connectivity TO QDB2 DATABASES IS enabled BY any of the following license files: { db2jcc_license_cisuz.jar }
Je n'ai pas trouvé ce jar de licence sur mon install client DB2 (DB2 connect PE 7.2 pour windows).
est-il a récupérer sur le serveur MVS ?

Sinon, on m'affirme (les DBAs) qu'il y aura des problèmes de performances sur les requètes faites a travers la passerelle JDBC. avez vous des retours ?
yopiyop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2006, 16h35   #6
Membre du Club
 
Inscription : août 2004
Messages : 54
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 54
Points : 51
Points : 51
Je continue lentement :

j'ai recuperé ce fameux db2jcc_license_cisuz.jar dans une MAJ de db2 connect sur le site IBM.

J'ai l'erreur suivante :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
An error occured while executing the DATABASE request FOR:
DB2
DSN07011
IBM DB2 JDBC Universal Driver Architecture
2.8.46
 
The command that caused the error was:
getTables
 
Error Details:
   Type: com.ibm.db2.jcc.a.SqlException
   Error Code: -805
   SQL State: 51002
 
Error Message:
DB2 SQL error: SQLCODE: -805, SQLSTATE: 51002, SQLERRMC: DB2TEST.NULLID.SYSSTAT.5359534C564C3031;DISTSERV;04
 
System Information:
Product: DbVisualizer Free 4.3.5
Build: #1054 (2005/10/06 13:42)
Java VM: Java HotSpot(TM) Client VM
Java Version: 1.5.0_05-b05
Java Vendor: Sun Microsystems Inc.
OS Name: Windows 2000
OS Arch: x86
OS Version: 5.0
 
You can choose TO   this log TO the system clipboard OR   it TO a file.
une idée ?
yopiyop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2006, 19h08   #7
Membre expérimenté
 
Inscription : mai 2005
Messages : 414
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 414
Points : 589
Points : 589
-805 est un SQLCOde connu.

Soit ton plan d'acces aux données n'est pas bindé. A la base, le -805 est un pb de bind sur un package (plan).

Mais sur des batchs Java, ca peut etre aussi un pb de connexion à ton DB2. En fait quand tu accedes à une base, il faut lui passer un login, un mot de passe et le SSID du DB2 notamment, et un pb sur la config de connexion au DB2 peut résulter à ce -805
gregory.broissard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2006, 19h43   #8
Membre expérimenté
 
Inscription : mai 2005
Messages : 414
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 414
Points : 589
Points : 589
Le type 4 est plus lent effectivement que le type 2.

J'avais des chiffres dans un doc mais je ne sais plus ou. C'etait un document IBM donc on devrait le retrouver sur leur site.

USS = Unix System Services. z/OS embarque un Unix complet sur la LPAR.
gregory.broissard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 09h39   #9
Membre du Club
 
Inscription : août 2004
Messages : 54
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 54
Points : 51
Points : 51
Citation:
Envoyé par gregory.broissard
-805 est un SQLCOde connu.

Soit ton plan d'acces aux données n'est pas bindé. A la base, le -805 est un pb de bind sur un package (plan).

Mais sur des batchs Java, ca peut etre aussi un pb de connexion à ton DB2. En fait quand tu accedes à une base, il faut lui passer un login, un mot de passe et le SSID du DB2 notamment, et un pb sur la config de connexion au DB2 peut résulter à ce -805
La connection a l'air de s'ouvrir, c'est lors de la recupération des metadatas que ca plante (getTables)...
yopiyop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2006, 09h40   #10
Membre du Club
 
Inscription : août 2004
Messages : 54
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 54
Points : 51
Points : 51
Citation:
Envoyé par gregory.broissard
Le type 4 est plus lent effectivement que le type 2.

J'avais des chiffres dans un doc mais je ne sais plus ou. C'etait un document IBM donc on devrait le retrouver sur leur site.

USS = Unix System Services. z/OS embarque un Unix complet sur la LPAR.
La question 4 de la FAQ suivante me convient :

http://www-128.ibm.com/developerworks/db2/library/techarticle/0307zikopoulos/0307zikopoulos.html
yopiyop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2006, 16h15   #11
Invité régulier
 
Inscription : décembre 2005
Messages : 14
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 14
Points : 9
Points : 9
En DB2 V7 sur Z/OS, ce n'est pas un vrai driver type4.
privilégie le type 2 ou attend de passer en DB2V8
ruthene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 10h38   #12
Membre du Club
 
Inscription : août 2004
Messages : 54
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 54
Points : 51
Points : 51
Citation:
Envoyé par ruthene
En DB2 V7 sur Z/OS, ce n'est pas un vrai driver type4.
privilégie le type 2 ou attend de passer en DB2V8
tu as des liens/ressources qui expliquent ceci ?

Je ne pense pas qu'on passera un jour en V8. Il n'y a pas de nouveau developpement sur cette plateforme...

L'erreur -805 vient probablement d'un problème de version (PTF UQ72083 requis).
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/t0010264.htm

Ce patch a l'air assez lourd (500Mo) a mettre en place....
a suivre donc...


quelques liens :

résume bien le probleme de connection (retrieve des metadatas)
http://www.thescripts.com/forum/thread180613.html

toutes les docs DB2 V7 :
http://www-306.ibm.com/software/data/db2/zos/v7books.html

les abbréviations que je ne connaissais pas (a la fin du PDF) et des Infos sur les pré-requis de la connectivité JDBC sur DB2/Z-os V7 (recherchez PTF):
http://www.redbooks.ibm.com/abstracts/sg246435.html
yopiyop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 11h42   #13
Invité régulier
 
Inscription : décembre 2005
Messages : 14
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 14
Points : 9
Points : 9
D'après mes souvenirs, tu as un redbook JDBC ou on t'explique que l'on passe par une table pour simuler un driver de type 4
ruthene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2006, 09h52   #14
Membre du Club
 
Inscription : août 2004
Messages : 54
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 54
Points : 51
Points : 51
Ca marche plutot bien maintenant :-)

Pour resumer la connectivité JDBC sur un DB2/Z 7.1 :

Il faut le driver JDBC d'IBM (le dernier), les jars sont :
-db2jcc.jar
-db2jcc_javax.jar
-db2jcc_license_cisuz.jar

Ce dernier Jar est un jar de licence permettant la connection sur un DB2 for Z !, il n'est pas distribué avec le package de base téléchargable chez IBM.
Il faut un client DB2connect V8 pour le trouver. (ceci n'est pas un soucis technique, c'est la politique de licence d'IBM...)

Il faut que le systeme (DB2 et Z) soit a jour (PTF), il faut suivre a la lettre les chapitres 5.1 et 5.2 du redbook. http://www.redbooks.ibm.com/abstracts/sg246435.html

Tout doit fonctionner.
J'ai quand même eu un souci avec le client que j'utilise (DbVisualizer-5.0 free) concernant l'encoding utilisé par le driver JDBC. L'installation d'un JRE avec l'option internationnal a résolu le Problème...

Après qq essais, les temps de réponses m'ont l'air très corrects. et il n'y a pas eu de soucis particuliers sur les bases installées.

La question de la migration vers un DB2 V8 qui implemente JDBC en natif reste en suspend

merci a tous
yopiyop est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h31.


 
 
 
 
Partenaires

Hébergement Web