
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![]() Les UDF : une bonne mise en bouche pour SQLHoffman : Bon nombre des fonctions présentes dans la base de données à l'heure actuelle y sont pour satisfaire des gens étrangers au marché AS/400 (ceux qui portent des applications provenant d'Unix ou d'Oracle par exemple). Pourquoi avons-nous des UDF et des UDT ? Il ne Lire l'article![]() Le prochain niveau des UDTGuthrie : Existe-t-il une méthode
astucieuse pour définir des structures de données complexes avec des UDT ? Anderson : En principe, on peut mettre n'importe quoi à l'intérieur d'un UDT. Mais, votre question concerne plutôt le prochain niveau des UDT, Lire l'article![]() Surprenez vos utilisateurs
Avec les outils que j'ai décrits, on peut créer des applications douées de la
parole qui surprendront vos utilisateurs et, qui plus est, aideront les utilisateurs
AS/400 souffrant de problèmes d'acuité visuelle. Comme je l'ai mentionné plus
tôt, SVK est offert gracieusement pour les besoins du développement. ![]() 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". ![]() L’application Talking AS/400Vous pouvez télécharger la totalité de l'application Talking AS/400 depuis le site http://www.newsmag.com. Pour exécuter le fichier Talk400.class (qui contient le code de l'application), tapez "java Talk400" sur une ligne de commande DOS. L'exécution du programme Talk400 démarrera, affichant l'écran présenté figure 1. Le programme incite le synthétiseur vocal du Lire l'article![]() 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![]() Installer les composantsAvant d'installer le logiciel, commencez par vérifier que la configuration matérielle de votre ordinateur est adéquate. En ce qui me concerne, j'ai trouvé que mon PC à 200 MHz fonctionnait correctement. Cependant, il se peut que vous ayez besoin d'un PC plus puissant si celui-ci doit traiter une application plus Lire l'article![]() Les pré-requisPour développer une application Java générant de la parole sur AS/400, vous aurez besoin des matériels et logiciels suivants (Note : ces contraintes sont basées sur la version 0.71 release alpha de SVK. Même si actuellement SVK n'est pas toujours disponible, Speech for Java 1.0 est fourni avec SVK. Consultez 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
|