IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DB2 Discussion :

[DB2 /Z/OS] accès JDBC type 4


Sujet :

DB2

  1. #1
    Membre régulier
    Profil pro
    Abcde
    Inscrit en
    Août 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Abcde
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2004
    Messages : 59
    Points : 79
    Points
    79
    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

  2. #2
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    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.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 414
    Points : 671
    Points
    671
    Par défaut
    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).

  4. #4
    Membre régulier
    Profil pro
    Abcde
    Inscrit en
    Août 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Abcde
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2004
    Messages : 59
    Points : 79
    Points
    79
    Par défaut
    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....

  5. #5
    Membre régulier
    Profil pro
    Abcde
    Inscrit en
    Août 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Abcde
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2004
    Messages : 59
    Points : 79
    Points
    79
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  6. #6
    Membre régulier
    Profil pro
    Abcde
    Inscrit en
    Août 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Abcde
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2004
    Messages : 59
    Points : 79
    Points
    79
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 414
    Points : 671
    Points
    671
    Par défaut
    -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

  8. #8
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 414
    Points : 671
    Points
    671
    Par défaut
    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.

  9. #9
    Membre régulier
    Profil pro
    Abcde
    Inscrit en
    Août 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Abcde
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2004
    Messages : 59
    Points : 79
    Points
    79
    Par défaut
    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)...

  10. #10
    Membre régulier
    Profil pro
    Abcde
    Inscrit en
    Août 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Abcde
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2004
    Messages : 59
    Points : 79
    Points
    79
    Par défaut
    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

  11. #11
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    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

  12. #12
    Membre régulier
    Profil pro
    Abcde
    Inscrit en
    Août 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Abcde
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2004
    Messages : 59
    Points : 79
    Points
    79
    Par défaut
    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

  13. #13
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    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

  14. #14
    Membre régulier
    Profil pro
    Abcde
    Inscrit en
    Août 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Abcde
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2004
    Messages : 59
    Points : 79
    Points
    79
    Par défaut
    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

Discussions similaires

  1. [HIBERNATE] No Dialect mapping for JDBC type: 3
    Par PamelaGeek dans le forum Hibernate
    Réponses: 2
    Dernier message: 10/10/2007, 15h14
  2. [JDBC]type du pilote HSQL
    Par dark2 dans le forum JDBC
    Réponses: 2
    Dernier message: 27/04/2006, 10h42
  3. [DB2] Problème de pilote JDBC
    Par Xavier78000 dans le forum JDBC
    Réponses: 1
    Dernier message: 23/02/2006, 12h42
  4. [TLD's] Comment concevoir un accès de type WhoIs ?
    Par xenos dans le forum Requêtes
    Réponses: 7
    Dernier message: 05/01/2006, 20h24
  5. [DB2 V7 & V8] equivalent du type SERIAL
    Par geoffrey_k dans le forum DB2
    Réponses: 3
    Dernier message: 05/07/2004, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo