Gestion de bases de données

Comment changer le répertoire de téléchargement par défaut des fichiers client WebUtil de Forms

S'applique à

Oracle Forms - Version : 10.1.2.3.0 et suivantes [Release : 10.1.2.3 et suivantes ]
Les informations de ce document s'appliquent à toutes les plateformes.

Objectif

Ce document décrit une nouvelle fonctionnalité ajoutée à Oracle Forms WebUtil et la façon de l'utiliser. Cette fonctionnalité permet aux administrateurs de configurer le répertoire cible dans lequel sont stockés les fichiers de bibliothèques (par exemple *.dll) envoyés au poste client pour être utilisés par WebUtil. Les fichiers utilisés sont configurés par défaut dans le fichier webutil.cfg situé sur le serveur. Par exemple :

install.syslib.0.7.1=jacob.dll|94208|1.0|true 
install.syslib.0.9.1=JNIsharedstubs.dll|65582|1.0|true 
install.syslib.0.9.2=d2kwut60.dll|192512|1.0|true

Détails sur les versions de la fonctionnalité

La nouvelle fonctionnalité est disponible à partir de la version 11. Un correctif a été mis à disposition pour l'ajouter à la version 10.1.2.3.

Cette fonctionnalité ne sera pas offerte pour les versions antérieures à la 10.1.2.3.

Pour bénéficier de cette nouvelle fonctionnalité, vous devez disposer de la version 10.1.2.3 avec le Patch 9593176, ou une version plus récente du Recommended Patch ou du Bundle Patch. Pour obtenir le dernier correctif qui inclut cette fonctionnalité, communiquez avec le support Oracle.

Le chemin de destination est toujours relatif au répertoire personnel de l'utilisateur, sauf si vous utilisez une version plus récente du correctif mentionné ci-dessus (c'est-à-dire le Patch 9593176 ou plus récent). Avec le Patch 9593176 ou plus récent, vous pouvez utiliser soit un chemin relatif au répertoire personnel de l'utilisateur, soit un chemin absolu vers n'importe quel emplacement accessible sur la machine locale.

Comme pour toute installation de correctif, lisez attentivement le document ReadMe fourni avant de commencer l'installation. Cette nouvelle fonctionnalité est particulièrement utile dans les environnements où le poste client ne dispose pas de tous les droits d'administration, une situation courante avec MS Vista et les versions plus récentes.

Instructions

  1. Installez le correctif en suivant la documentation fournie
  2. En plus d'autres fichiers, le correctif comprend un nouveau fichier webutil.pll. Ce fichier doit remplacer votre fichier existant. Une fois copié à l'emplacement voulu, il doit être compilé pour en générer une version .plx. Consultez la documentation de Forms pour savoir comment compiler les modules Forms.
  3. Sur le serveur, repérez le fichier webutil.cfg et ouvrez-le pour le modifier. Si vous avez créé votre propre version personnalisée de ce fichier, ouvrez plutôt celle-ci.
  4. Dans la section 2 de ce fichier, ajoutez un nouveau paramètre comme suit :
install.syslib.location.client. = 

ci-dessus, représente la référence numérique (constante) de la plateforme cliente. Consultez la liste suivante :

Plateforme cliente

  • Microsoft Windows : 0
  • Linux : 1
  • Sun Solaris : 2
  • HP-UX : 3
  • IBM AIX : 4
  • Apple Mac : 5
  • Inconnue : 9

Consultez le Forms 10.1.2 Client Statement of Direction pour la liste des configurations client certifiées.

représente le chemin complet de l'emplacement où doivent être stockées les bibliothèques utilisées par WebUtil sur le poste client. (Le Patch 9593176 ou plus récent est nécessaire pour utiliser des chemins complets.)

  • Vous pouvez aussi utiliser un chemin relatif. Le chemin est alors relatif au répertoire personnel (Home) de l'utilisateur (par exemple C:\Documents and Settings\).
  • Si aucune valeur n'est définie, le comportement par défaut s'applique et les bibliothèques sont stockées dans le répertoire \bin du Java Runtime Environment Home (JRE/lib sur les plateformes Unix).
  • Si le chemin n'existe pas, le système tentera de le créer.

Limites

À l'exécution, sur le poste client, le fichier d'enregistrement de WebUtil (webutil.properties) est écrit dans le répertoire personnel de l'utilisateur. Cela ne se produit que la première fois que cet utilisateur utilise WebUtil. Lors des exécutions suivantes d'un formulaire utilisant WebUtil, les bibliothèques (dll) ne sont pas téléchargées si webutil.properties existe déjà. En raison de ce fichier préexistant, l'exécution d'un formulaire à partir d'un autre serveur ou d'une autre configuration, susceptible d'utiliser une configuration WebUtil différente, risque de ne pas fonctionner comme prévu, car les nouveaux fichiers dll ne seront pas téléchargés. Supprimer webutil.properties du répertoire personnel de l'utilisateur règle le problème.

Une amélioration de cette fonctionnalité, qui éliminera cette limite, devrait être offerte dans un prochain correctif de Forms. Sa date de sortie est inconnue pour le moment. Cette note sera mise à jour dès qu'elle sera disponible.

Cette limite ne pose pas de problème dans les environnements qui utilisent le même chemin de destination et les mêmes fichiers WebUtil pour toutes les applications Forms.

La convention de nommage exacte du fichier .properties peut varier légèrement selon les correctifs installés. Voici quelques exemples de noms possibles :

  • webutil.properties
  • webutil.<CONFIG NAME>.properties
  • webutil.<HOST NAME>.<CONFIG NAME>.properties

Problème n° 1 : dépannage

Vous avez apporté les modifications nécessaires au fichier de configuration, mais l'exécution d'un formulaire continue d'écrire les bibliothèques dans le répertoire JRE\bin.

Solutions possibles :

  • 1. Le nouveau webutil.plx n'a pas été créé et l'ancien est toujours trouvé et utilisé. Supprimez les anciennes versions du fichier webutil.pll/plx et remplacez-les par le nouveau fichier fourni avec le correctif. Assurez-vous que le nouveau fichier se trouve dans un répertoire inclus dans le FORMS_PATH
  • 2. Dans certains cas, il peut être nécessaire de détacher webutil.pll du formulaire puis de le rattacher. Il peut aussi être nécessaire de détacher le WebUtil Object Group et de le rattacher à partir de l'Object Library. Après ces modifications, vous DEVEZ exécuter Compile ALL PL/SQL avant d'enregistrer, puis générer un nouveau FMX.
  • 3. Consultez la solution du problème 2 ci-dessous.

Problème n° 2 : dépannage

Vous avez apporté les modifications nécessaires au fichier de configuration, copié le nouveau fichier webutil.pll, créé un nouveau webutil.plx et l'avez placé au bon endroit. Vous avez rattaché le nouveau pll et la WebUtil Object Library et recompilé le formulaire concerné (fmb). Pourtant, l'exécution d'un formulaire ne télécharge pas les bibliothèques nécessaires, si bien que le formulaire ne fonctionne pas correctement.

Solutions possibles :

Si une exécution précédente d'une application Forms comprenait WebUtil, il est possible que le fichier d'enregistrement côté client (webutil.properties) ait été stocké sur le poste client. Si ce fichier existe sur le poste client, aucun téléchargement n'aura lieu. Repérez ce fichier et supprimez-le du poste client. Il peut se trouver à l'un de ces deux emplacements :

  • Répertoire personnel de l'utilisateur (par exemple C:\Documents and Settings\)
  • Répertoire Home du JRE (Sun ou Jinitiator) (par exemple C:\Program Files\Java\jre6)

Problème n° 3 : dépannage

Vous avez apporté les modifications nécessaires au fichier de configuration, mais l'exécution d'un formulaire continue d'écrire les bibliothèques dans le répertoire personnel de l'utilisateur et un sous-répertoire.

Solutions possibles :

Vous n'avez pas appliqué le Patch:9593176 ou une version plus récente. Téléchargez et installez le dernier Forms Bundle Patch. Lisez le ReadMe ou les notes de version fournis avant l'installation. Au besoin, communiquez avec le support pour obtenir le numéro du dernier Patch ID.

Problème n° 4 : dépannage

Vous avez effectué une mise à niveau à partir d'une ancienne version d'Oracle Jinitiator ou du JRE de Sun. Avant cette mise à niveau, les formulaires qui utilisaient WebUtil fonctionnaient correctement, mais ils échouent depuis.

Solutions possibles :

Supprimez webutil.properties du répertoire personnel de l'utilisateur et refaites le test

Problème 5 : dépannage

Les dll ne sont toujours pas téléchargées dans le répertoire client indiqué

Solution possible :
Si vous avez vérifié que vous disposez du Patch 9593176 ou d'un correctif plus récent comme le Patch 11710576, procédez comme suit :

  • Vérifiez, d'après son horodatage, que le fichier frmwebutil.jar a bien été mis à jour par le correctif.
  • Vérifiez que frmwebutil.jar se trouve dans ORACLE_HOME/forms/java
  • Vérifiez que votre formsweb.cfg contient -> WebUtilArchive=frmwebutil.jar,jacob.jar
  • Videz le cache des fichiers Jar du JRE et le cache du navigateur, puis réessayez.