Un autre excellent outil de base de données
SPL n'est pas le seul langage que l'on souhaite avoir à sa disposition pour écrire du code d'accès aux bases de données. Mais, il faut considérer ses avantages en matière de portabilité et de simplicité pour coder des instructions de manipulation de données SQL. Dans un prochain article, je montrerai
Lire l'article
Exécution de l’instruction Create Procedure
La meilleure manière d'exécuter l'instruction Create Procedure (figure 1) consiste à la sauvegarder dans un membre de fichier source et à utiliser une commande RunSQLStm (Run SQL Statements) semblable à celle de la figure 8. Bien entendu, on utilise ses propres noms de fichier et de bibliothèque source pour le
Lire l'article
Obtention de résultats avec SQL
Après la déclaration du gestionnaire, on code les instructions exécutables pour la voie d'exécution normale de la procédure (c'est-à -dire, autre que le code gestionnaire). La procédure GetRank démarre en initialisant le paramètre SQLStateOut (en E). Cette étape garantit que l'appelant sera informé d'une défaillance en cas de sortie inattendue de
Lire l'article
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
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 une de la chaîne Tech
X
|
