
Protection des instructions SPL
Les techniques de traitement d'erreurs décrites dans le corps de l'article permettent de protéger toute instruction SQL en l'encadrant par une paire d'instructions comme celles illustrées en H et J sur la figure 1. Cette technique d'encadrement convient pour Lire l'article![]() Déclaration d’un gestionnaire d’exceptionsAprès les déclarations de variables locales, la procédure déclare un gestionnaire pour la condition SQLException (en D). Ce gestionnaire s'exécute quand SQLState est défini avec une valeur ne commençant pas par 00 (réussite), 01 (avertissement) ou 02 (ligne non trouvée). Quelle que soit la méthode adoptée pour le traitement d'erreurs Lire l'article![]() La procédure cataloguée GetRankLa figure 1 illustre la procédure cataloguée GetRank mentionnée ci-dessus. Les techniques décrites dans le paragraphe précédent constituent le coeur, ou noyau, de la procédure ; cependant, pour combiner ces requêtes au sein d'une procédure cataloguée, il faut du code supplémentaire. Nous avons une Lire l'article![]() La visite est finie
La beta 3 de Windows 2000 ne contient pas de modifications significatives du Gestionnaire
de configurations ou de la manière dont NT gère les ruches du Registre. Cependant,
cette beta introduit des optimisations significatives de la mémoire et des performances. ![]() Optimisations du Registre
Le Gestionnaire de configurations réalise d'intéressantes tâches d'optimisations
des performances. Pour commencer, pratiquement chaque clé de Registre a un descripteur
de sécurité qui protège l'accès à la clé. ![]() Stockage stable
Pour s'assurer qu'une ruche de Registre persistante conserve un état stable, le
Gestionnaire de configurations se sert de ruches de jpurnalisation. Chaque ruche
persistante possède une ruche journal associée portant le même nom de base accompagné
d'une extension .log. ![]() Cartographie des cellulesLe Gestionnaire de configurations n'accède pas à l'image d'une ruche sur le disque à chaque accès au Registre. En revanche, NT conserve une version de chaque ruche dans l'espace d'adressage du kernel. Lorsqu'une ruche s'initialise, le Gestionnaire de configurations détermine la taille du fichier ruche, lui alloue suffisamment de mémoire Lire l'article![]() Structure des ruchesLe Gestionnaire de configurations divise une ruche en unités d'allocation logiques baptisées blocs, tout comme un système de fichiers divise un disque en groupes. Par définition la taille des blocs du Registre est de 4 096 octets (4 Ko). Lorsque de nouvelles données alimentent une ruche, celle-ci s'étend toujours par Lire l'article![]() Beta 3Enfin, le nouvel système m'a donné l'occasion d'expérimenter la beta 3 de Windows 2000. J'ai reçu une des premières versions de la beta 3 en même temps que le nouveau système. Après tous les soucis que j'ai eus avec la beta 2 de NT 5.0, j'avais hâte de faire tourner Lire l'article![]() Un exemple simple
Pour voir comment fonctionne l'API Java Speech, examinons l'exemple du programme
HelloWorld.java présenté en figure 5. Cet exemple ne présente aucune interface
utilisateur, et dit simplement, "Hello ! I am your talking AS/400". ![]() Première expérienceMa première expérience avec SVK a consisté à créer une application vocale "Hello world", simple mais fonctionnant correctement. Ensuite, j'ai modifié l'application afin qu'elle dise "I am your AS/400". Lorsque j'ai réalisé cette modification, j'ai remarqué une limitation du moteur vocal. Pour prononcer "AS/400", le synthétiseur vocal disait "A S Lire l'article![]() Technique 4: Accès concurrentLes applications mettant à jour des fichiers doivent se protéger contre d'éventuelles mises à jour conflictuelles provenant d'autres travaux. RPG et SQL permettent de verrouiller les enregistrements lus à partir d'un fichier accédé en mise à jour. En fonction du niveau de contrôle de validation en vigueur, le verrouillage de Lire l'article![]() Technique 3: Positionnement du pointeur de fichier sur une clé plus grande ou égale à une clé partielle ouPour les applications de recherche dans les fichiers, il peut être nécessaire de définir une (ou des) zone(s) de saisie d'écran permettant à l'utilisateur d'entrer une clé complète ou partielle comme point de départ d'une recherche. En RPG, on utilise une opération SetLL suivie d'opérations Read sur un fichier ayant Lire l'article![]() Technique 2: Lire et écrire un ensemble d’enregistrements ayant une valeur commune sur une zone de cléDans les applications de gestion, on est très souvent amené à lire un ensemble d'enregistrements " détail " partageant un enregistrement " maître " commun. Par exemple, lire les enregistrements articles de la ligne pour l'enregistrement d'une commande. Normalement, en RPG, ce type d'opération est mis en oeuvre au moyen Lire l'article![]() Réglez vos propres performances de base de données
Ces benchmarks démontrent que pour bien régler les I/O d'une base de données, il faut bien comprendre comment DB2 UDB et le langage particulier (RPG ou SQL) traitent les opérations d'I/O. Il faut aussi bien connaître l'environnement dans lequel s'exécutera le job, et notamment la quantité de mémoire disponible, le Lire l'article![]() L’accès direct par cléLe dernier groupe de tests consistait à accéder à des enregistrements par clé primaire, en utilisant une suite de valeurs de clé générées dans un ordre pseudo-aléatoire. (L'ordre des clés de test était différent de celui dans lequel elles avaient été générées à l'origine et de leur ordre dans le Lire l'article![]() Trier le fichier pour améliorer les performancesMême avec beaucoup de mémoire disponible et une contention de mémoire basse, l'accès aux enregistrements dans un ordre autre que physique est moins efficace que l'accès dans l'ordre physique. Quand on traite fréquemment un fichier entier dans l'ordre des clés, un tri périodique peut s'avérer bénéfique. J'ai répété les tests Lire l'article![]() L’effet de la contention de mémoireIl est important de se souvenir que les résultats de tests décrits pour l'accès séquentiel par clé d'un fichier non trié ne reflètent presque pas de contention de mémoire. Comme je l'ai expliqué, cela permettait d'utiliser de grands blocs de transfert pour améliorer les performances, parce que les enregistrements restaient Lire l'article![]() Accès par clé SQL d’un fichier non triéQuand on crée et exécute un programme SQL, l'optimiseur de requête détermine le plan d'accès en fonction du type de requête (si une clause Order By est utilisée pour classer les enregistrements, par exemple) ; les chemins d'accès disponibles et les statistiques que le système maintient pour le fichier et Lire l'article![]() Accès par clé RPG d’un fichier non triéLa batterie de tests suivante ajoute une charge supplémentaire aux systèmes d'I/O : l'extraction des enregistrements dans leur ordre de clé primaire. Avec l'I/O RPG standard, le système progresse en séquence dans le chemin d'accès par clé et utilise les pointeurs d'enregistrement du chemin d'accès (c'est-à -dire les RRN (relative record Lire l'articleLes plus consultés sur iTPro.fr
![]() La Revue du Décideur ITX
|