Utilisation de SQLJ intégré avec le pilote existant DB2 for z/OS

Le langage SQL pour Java™ (SQLJ, Structured Query Language in Java) est un ensemble d'extensions de programmation qui permet au développeur Java d'intégrer des requêtes SQL dans son code. Vous pouvez utiliser le pilote DB2 for z/OS Legacy avec vos applications d'accès aux données.

Pourquoi et quand exécuter cette tâche

Remarques :
  1. Pour utiliser SQLJ avec WebSphere Application Server for z/OS et le pilote DB2 for z/OS Legacy Driver, installez DB2 APAR PQ76442.
  2. Les beans CMP (persistance gérée par conteneur) générés avec SQLJ ne sont pas pris en charge par le pilote DB2 for z/OS Legacy. Utilisez le pilote DB2 Universal pour les beans CMP générés avec SQLJ.

Pour développer des applications avec SQLJ exécutées sur WebSphere Application Server for z/OS version 6.0 à l'aide du pilote DB2 for z/OS Legacy, procédez comme suit.

Procédure

  1. Concevez votre application dans Rational Application Developer en utilisant SQLJ aux endroits voulus. Par exemple, si vous développez un bean appelé Test qui utilise la persistance gérée par bean, le code sera TestBean.sqlj (au lieu de TestBean.java).
    1. A partir de votre installation de DB2 for z/OS, copiez le fichier db2sqljclasses.zip dans un répertoire de votre poste de travail, puis modifiez le chemin de génération Java de votre projet JAR d'EJB afin d'y inclure db2sqljclasses.zip.
    2. Convertissez votre code SQLJ, conformément aux instructions ci-après.
      1. Recherchez votre fichier SQLJ, puis utilisez le transfert en mode ASCII pour le télécharger par FTP vers un système hiérarchique de fichiers dans votre environnement z/OS.
      2. A l'aide de la commande sqlj, convertissez votre code SQLJ en code Java. Deux fichiers sont produits, un avec l'extension .java et un autre avec l'extension .ser.
        sqlj -compile=false SQLJ_FILE_NAME
      3. Utilisez le transfert en mode ASCII pour le fichier .java et le transfert en mode binaire (BINARY) pour le fichier .ser afin de replacer ces fichiers dans le répertoire de votre poste de travail contenant le fichier SQLJ.
      4. Régénérez le projet.
    3. Générez le code de déploiement de votre application.
    4. Exportez votre fichier EAR.
  2. Installez votre application
    1. Créez une source de données avec le fournisseur DB2 for zOS Local JDBC Provider (RRS). Lorsque vous définissez votre fournisseur JDBC et la source de données, les valeurs par défaut suffisent pour la prise en charge de SQLJ.
    2. Installez votre application dans WebSphere Application Server.

      Utilisez la source de données créée à l'étape 1 pour convertir les références des ressources.

  3. Personnalisez vos profils sérialisés Lorsque vous générez votre code de déploiement, des profils sérialisés spécifiques à votre application sont créés. Ces profils se reconnaissent à leur extension .ser. Ils doivent être personnalisés dans un environnement z/OS avant d'être utilisables.
    1. Utilisez le transfert binaire pour transférer les profils sérialisés dans l'environnement z/OS dans lequel vous avez installé votre application. Vous pouvez également utiliser la commande Java jar pour extraire les profils sérialisés du fichier JAR d'EJB dans le répertoire du fichier EAR installé.
    2. Utilisez la commande db2profc pour personnaliser les profils sérialisés. Vous trouverez des informations sur les options associées à cette commande dans la documentation de DB2. Voici, toutefois, les conditions minimales requises pour personnaliser votre profil :
      db2profc -pgmname=PROGRAM_NAME PROFILE_NAME
      • Où :
        • NOM_PROGRAMME doit être un nom de membre PDS MVS valide et peut comporter jusqu'à sept caractères.
        • NOM_PROFIL est le nom du profil sérialisé à personnaliser. Vous devez exécuter db2profc une fois pour chaque profil.
      • Le personnaliseur de profil crée quatre ensembles de données DBRM (module d'interrogation de base de données) dans le PDS NOMUTILISATEUR.DBRMLIB.DATA. Les noms de membre des modules DBRM commencent par le NOM_PROGRAMME que vous avez spécifié.
      • Vérifiez que votre variable d'environnement CLASSPATH inclut :
        • l'emplacement du profil sérialisé,
        • le fichier JAR d'EJB qui se trouve dans le répertoire de votre application EAR installée.
      • Allouez un PDS qui contiendra les modules DBRM créés. Nommez ce PDS NOMUTILISATEUR.DBRMLIB.DATA, où NOMUTILISATEUR est l'utilisateur qui exécutera la commande db2profc.
        Les champs suivants sont fournis à titre d'exemple :
        Space units=TRACK
        Primary quantity=15
        Secondary quantity=5
        Directory blocks=10
        Record format=FB
        Record length=80
        Block size=27920
        Data set name type=PDS
    3. Placez les profils sérialisés existants, qui sont désormais personnalisés dans un emplacement, qui fait partie du chemin d'accès aux classes de l'application et qui est situé en amont des profils sérialisés existant dans votre fichier JAR d'EJB.

      Le fichier de sortie du personnaliseur de profil DB2 et le fichier d'entrée portent le même nom. Placez le fichier de sortie avant le profil sérialisé original dans le chemin de classe. Vous pouvez également remplacer l'original par le profil personnalisé dans le fichier JAR EJB. Nous vous recommandons de remplacer le fichier original.

      IMPORTANT : Si vous exécutez la commande db2profc depuis le répertoire du profil sérialisé, le personnaliseur de profil remplace ce dernier. Etant donné que vous avez uniquement besoin de la version personnalisée une fois que le personnaliseur de profil s'est exécuté, cela ne pose pas de problème.

    4. Liez vos modules DBRM dans un package.
      Remarque : Vous devez créer les tables de votre base de données avant de lier les modules DBRM. Sinon, la tâche de liaison échoue.

      La commande de personnalisation db2profc crée une série de modules DBRM à lier dans les packages. Quatre DBRM sont créés par profil personnalisé

      :
      • Ils se trouvent dans NOMUTILISATEUR.DBRMLIB.DATA
      • Leurs noms commencent tous par le NOM_PROGRAMME que vous avez spécifié.
      • Ils sont numérotés de 1 à 4.

        Par exemple, si vous vous connectez en tant que IBMUSER, et que vous spécifiez -pgmname=TESTBMP, alors exécutez la commande db2profc ; les quatre ensembles de données, TESTBMP1, TESTBMP2, TESTBMP3 ET TESTBMP4, sont créés et placés dans le PDS IBMUSER.DBRMLIB.DATA.

        Ces ensembles de données doivent être liés dans des packages, avec les isolements UR, CS, RS et RR. Vous devez exécuter une liaison pour chaque profil sérialisé à personnaliser.

    5. Après avoir lié tous les modules DBRM dans des packages, liez les packages dans un plan. Donnez un nom au plan.

      IMPORTANT : vous devez aussi inclure les packages JDBC dans la liste des packages (PKLIST) de votre nouveau plan. Les noms par défaut des packages JDBC à inclure sont DSNJDBC.DSNJDBC1, ..., DSNJDBC.DSNJDBC4. Si votre installation n'a pas utilisé les noms par défaut pour les modules JDBC, prenez contact avec votre administrateur DB2 pour connaître les noms des modules JDBC à ajouter.

      Vous trouverez ci-après un exemple de tâche permettant de lier un nouveau plan.
      • Un profil sérialisé a été créé alors que vous étiez connecté en tant que IBMUSER.
      • -pgmname=TESTBMP a été spécifié pour l'exécution de db2profc.
      • Le nouveau plan s'appelle SQLJPLAN.
      //BBOOLS  JOB (516B,1025),'IBMUSER',MSGCLASS=H,CLASS=A,PRTY=14,
      //         NOTIFY=&SYSUID,TIME=1440,USER=IBMUSER,PASSWORD=IBMUSER,
      //         MSGLEVEL=(1,1)
      //********************************************************************
      //BINDOLS  EXEC PGM=IKJEFT01,DYNAMNBR=20
      //DBRMLIB  DD  DSN=IBMUSER.DBRMLIB.DATA,DISP=SHR
      //*        DD  DSN=MVSDSOM.DB2710.SDSNDBRM,DISP=SHR
      //SYSTSPRT DD  SYSOUT=*
      //SYSPRINT DD  SYSOUT=*
      //SYSUDUMP DD  SYSOUT=*
      //SYSTSIN  DD  *
      
       DSN SYSTEM(DB2)
      
       BIND -
           PACKAGE(TESTBMP) -
           QUALIFIER(IBMUSER) -
           MEMBER(TESTBMP1) -
           VALIDATE(BIND) -
           ISOLATION(UR) -
           SQLERROR(NOPACKAGE) -
      
       BIND -
           PACKAGE(TESTBMP) -
           QUALIFIER(IBMUSER) -
           MEMBER(TESTBMP2) -
           VALIDATE(BIND) -
           ISOLATION(CS) -
           SQLERROR(NOPACKAGE) -
      
       BIND -
           PACKAGE(TESTBMP) -
           QUALIFIER(IBMUSER) -
           MEMBER(TESTBMP3) -
           VALIDATE(BIND) -
           ISOLATION(RS) -
           SQLERROR(NOPACKAGE) -
      
       BIND -
           PACKAGE(TESTBMP) -
           QUALIFIER(IBMUSER) -
           MEMBER(TESTBMP4) -
           VALIDATE(BIND) -
           ISOLATION(RR) -
           SQLERROR(NOPACKAGE) -
      
      
       BIND PLAN(SQLJPLAN)                 -
        QUALIFIER(IBMUSER)                 -
        PKLIST(TESTBMP.*                   -
               DSNJDBC.*                 ) -
        ACTION(REPLACE) RETAIN             -
        VALIDATE(BIND)
      
      END
      /*
    6. Accordez les droits appropriés à votre nouveau plan. Pour ce faire, utilisez une interface dans DB2, telle que SPUF. Exécutez la commande
      GRANT EXECUTE ON PLAN PLANNAME TO APPSERVERID 
      Où :
      • NOMPLAN est le nom du plan que vous avez lié.
      • IDSERVEURAPP est l'identificateur sous lequel WebSphere Application Server est exécuté, par exemple, CBSYMSR1.
  4. Configurez votre source de données de sorte qu'elle utilise votre nouveau plan.
    1. Dans la console d'administration de WebSphere Application Server for z/OS, accédez à votre source de données et sélectionnez Propriétés personnalisées.
    2. Sélectionnez la propriété personnalisé planName.
    3. Mettez à jour la valeur de planName avec le nom que vous avez donné au plan lors de sa liaison.
    4. Associez enableSQLJ à la valeur true.
  5. Arrêtez puis redémarrez votre serveur.
  6. Lancez votre application.

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_sqljdb2zos
Nom du fichier : tdat_sqljdb2zos.html