Guide pour traiter les erreurs de SQL imbriqué
Dès lors que SQL se généralise dans les applications de production, il importe de bien vérifier et traiter les erreurs des instructions SQL imbriquées. Quand vous codez des instructions SQL imbriquées dans un langage évolué, tel que ILE RPG ou ILE Cobol, vous devez toujours vérifier la bonne fin de chaque instruction SQL exécutable, puis traiter comme il se doit les éventuelles conditions inattendues. Cet article fournit quelques conseils, techniques et profils de coding qui facilitent considérablement cette tâche.
En matière de programmation SQL imbriquée, il faut observer une règle simple : vérifier la valeur SQL state aussitôt après chaque instruction SQL exécutable du programme. Quand le SQL runtime revient à votre programme après avoir tenté d’exécuter une instruction SQL, le runtime définit une variable de programme nommée SQLState pour la valeur SQL state. (Les instructions déclaratives imbriquées, telles que Declare Cursor, et les directives de précompilateur, telles que Set Option, ne sont pas exécutées par le SQL runtime, et donc elles ne contribuent jamais à définir SQL state.)
SQL state est un code de cinq caractères présentant la structure suivante : XXYYY, où
• XX désigne la classe
• YYY désigne la sous-classe
Les significations des valeurs classe sont les suivantes :
• 00 – instruction correctement exécutée sans condition
• 01 – instruction correctement exécutée avec avertissement
• 02 – l’instruction n’a traité aucune donnée
• 03 à ZZ – l’instruction a échoué à cause d’une erreur
A propos de ces classes, on peut noter plusieurs choses. La classe « 00 » ne contient que la valeur SQL state « 00000 », donc on peut tester la chaîne entière plutôt que la seule classe.
Pour plusieurs des valeurs SQL state dans la classe « 01 », divers avertissements et erreurs column-level peuvent être indiqués par une valeur positive dans la variable d’indicateur null associée à une variable hôte. Les erreurs column-level potentielles incluent la troncature de chaîne et de date heure, les erreurs arithmétiques, les erreurs de conversion de caractères et les erreurs de mapping de données. Le sujet « References to host variable » du manuel SQL Reference fournit une description complète des paramètres de variables indicateurs. S’agissant de conditions spécifiques aux colonnes, il faut coder les tests pour qu’ils conviennent à l’application en plus de la vérification d’erreurs au niveau instruction montrée dans cet article.
La classe « 02 » inclut le SQL state « 02000 », lequel indique généralement que (1) aucune ligne n’a été renvoyée sur une opération d’entrée, (2) aucune ligne n’a été ajoutée par une opération Insert qui utilise un subselect pour spécifier de nouvelles lignes, ou (3) aucune ligne n’a satisfait à la condition de recherche d’une instruction Update ou Delete. Que l’une de ces conditions soit une erreur ou une condition escomptée, dépend de l’application ; c’est un aspect que votre code de vérification d’erreurs devrait prendre en considération.
La figure 1 fournit une liste complète des valeurs de classe. Le dernier manuel V5 SQL Messages and Codes fournit une liste complète des valeurs SQL state. Ces valeurs se veulent homogènes dans toute la famille IBM DB2 et sont fondées sur le standard SQL 1999. Pour plus d’informations à ce sujet, voir l’encadré « Où trouver des valeurs SqlState et SqlCode ».
| Contenu complémentaire : --> Lire l'article
5 points à connaître pour déboguer en WDScDans de précédents articles, nous avons vu que WDSc est meilleur, pour le développement et le débogage, que PDM/SEU et STRDBG. A présent, je vous propose quelques astuces recueillies récemment pour affiner votre technique de débogage.
La chute des cookies ?La gestion des sessions utilisateur sur plusieurs fermes Web et plateformes demeure l’un des défis suprêmes du développement de sites Web à haute disponibilité. Comme l’explique l’article « Une recette pour remplacer les variables de session » (Club Abonnés, SQL Server Magazine décembre 2006), l’utilisation conjointe des cookies, des procédures stockées SQL Server, d’un générateur de GUID et de paramètres d’URL. Certains développeurs évitent les paramètres d’URL car ils sont transmis de manière visible d’une page à l’autre. Ils leur préfèrent le passage de valeurs au moyen de champs masqués. Dans les deux cas, les résultats ne sont pas sécurisés. Par conséquent, les valeurs passées d’une page à l’autre doivent être les plus obscures possibles.
La puissance d’un clicCombien de fois avez-vous lu des instructions qui commencent par « Cliquez ici » ou « Double-cliquez vers… » ? Il est vrai qu’on peut accomplir beaucoup de choses avec un clic ou deux. Et avec WDSc (développeur productif. Dans cet article, j’explique, pas à pas, comment mettre en place WDSc afin que quelques clics suffisent à définir votre environnement de développement, à exécuter une application sur votre serveur et à compiler les applications. Lire l'article
Quoi de neuf dans WDSc for iSeries V7.0Voilà près d’un an qu’est apparu RPG, Cobol, CL et DDS. Par conséquent, je me concentrerai sur les nouvelles fonctions de RSE (Remote System Explorer) et j’aborderai brièvement les nouvelles fonctions de développement Web, WebFacing, HATS (Host Access Transformation Services) et Java. Lire l'article
Visual Studio 2008 : la plateforme de développement universelle de MicrosoftAssocié au framework .NET 3.5, Visual Studio 2008 offre l’assurance aux développeurs de créer rapidement tout type d’applications y compris connectées, en phase avec la stratégie Microsoft de Clients dynamiques. Des améliorations ont été apportées pour optimiser la productivité des développeurs et la gestion du cycle de vie des applications. Blaise Vignon, chef de produit Visual Studio répond à quelques questions. Lire l'article
Quelques considérations pour réussir l’implémentation d’ILELe modèle de programmation System i traditionnel est simple : entrer le code dans un membre source, le compiler, et appeler le programme généré. Il existe une relation de un à un entre le membre et l’objet programme. Par comparaison, ILE croule sous les sous-procédures, les programmes de service, les modules, les répertoires de liage et un langage binder – sans parler des groupes d’activation, lier par copier et lier par référence.On comprend mieux pourquoi la plupart des programmeurs abordent ILE avec réticence lorsqu’ils s’embarquent dans un processus de modernisation ou un nouveau développement.
Reconnaissance de modèle pour faciliter la programmation RPG moderneVous avez suivi un cours ILE RPG ou lu un livre ou un article. Vous savez donc ce que sont les procédures, les programmes de service, les répertoires de liage et les groupes d’activation. Et vous entamez bille en tête l’écriture de votre première application ILE… pour constater que rien ne colle !« C’est vraiment trop compliqué ! » vous exclamez-vous. « Comment accédez aux fichiers ? Comment traiter les erreurs quand les routines se trouvent dans des endroits différents ? Où diviser mes programmes en procédures ? »
Construisez vos propres systèmes de sécurité automatisésIl était une époque où la sécurité des SQL Server n’aurait l’idée de donner le feu vert à une base de données sans contrôler au préalable ses vulnérabilités concernant la sécurité, par exemple la présence de mots de passe faibles ou de firewalls perméables. Mais comment savoir si vous avez vérifié tous les paramètres de sécurité essentiels ? Ainsi, si vous omettez de verrouiller vos dossiers d’installation ou de désactiver le compte Invité (Guest) de votre serveur, vous serez à la fête !
Une feuille de route innovante pour 2015A quoi ressemblera le paysage technologique en 2015 ? Quels sont les défis les plus importants pour les professionnels de l'informatique ? Quelles seront les prochaines ruptures technologiques majeures ? Parmi les innovations qui façonnent ce futur, nombreuses sont celles qui sont en gestation dans les laboratoires de Microsoft. Tour d’horizon d’un parcours spécial tourné vers l’avenir.Pour la première fois, lors des Microsoft TechDays 2008, était prévu un parcours baptisé « Innovation Feuille de Route 2015 », avec plus d’une dizaine de sessions. Ce parcours transversal relève un challenge de taille: présenter les projets les plus innovants sur la prochaine décennie: nouvelle interface homme / machine, révolution dans les médias numériques vidéo et audio, etc. « En informatique, les éditeurs travaillent sur des cycles de vie entre 4 et 5 ans.
Modèles de conception de logicielsEn matière Les développeurs chevronnés s’appuient sur des années d’expérience de conception pour créer des applications souples, efficaces et faciles à maintenir. Les meilleurs d’entre eux ne s’appuient pas seulement sur leur propre expérience, mais aussi sur le bagage d’autres praticiens. Lire l'article
Visual Studio, au coeur des développements de la plate-forme MicrosoftBlaise Vignon, chef de produit Visual Studio, nous explique comment Visual Studio, s’est imposé au fil du temps comme la solution de référence pour les développeurs. Lire l'article
5 étapes pour développer et déployer du code CLR dans SQL ServerItzik Ben-Gan vous présente comment développer et déployer du code CLR dans SQL Server Lire l'article
CLR or not CLR telle est la question ?L’intégration du CLR (Common Language Runtime) .NET dans SQL Server. Afin de faciliter le travail, je fournis le code .NET en C# et en VB.NET, et tous les exemples sont téléchargeables dans le Club Abonnés d'iTPro.fr. Lire l'article
Développer du code performant et de qualité avec Visual Studio 2008
Que se passe-t-il dans mon script ?Dans le domaine de lles scripts les plus simples. Lire l'article
Veillez à bien protéger vos scriptsVous venez juste d’écrire un superbe leur protection. Bien que vous puissiez protéger les scripts par des méthodes classiques, il existe un meilleur moyen. Lire l'article
Astuces concernant l’IDE Visual Studio 2005J’ai collaboré récemment à quelques projets de développement qui m’ont permis de mettre à l’épreuve Visual Studio 2005. Ce faisant, j’ai identifié les astuces de productivité suivantes et j’aimerais vous en faire profiter Lire l'article
La puissance de SharePoint Server 2007Microsoft Office SharePoint Server et vouliez savoir ce qu’il apporte à votre entreprise, ou que vous ayez déjà utilisé les versions précédentes de SharePoint Server et vouliez voir ce qu’apporte 2007, j’aimerais vous guider sur le chemin de SharePoint Server 2007, au moyen de sept « expériences » :
Visual Studio 2005 et SQL Server 2005 : une équipe qui gagneLe lancement sans cesse retardé dedéveloppement d’applications. N’attendez pas la sortie des versions définitives pour commencer à concevoir et planifier les logiciels qui exploiteront leurs nouvelles fonctionnalités. Agissez dès maintenant ! Lorsque SQL Server 2005 et Visual Studio 2005 seront enfin disponibles, vous disposerez d’applications capables de tirer immédiatement parti de leurs nouveautés.Néanmoins, au vu des dizaines de nouvelles fonctionnalités proposées, les développeurs auront peut-être des difficultés à identifier lesquelles essayer en premier. Trois améliorations apportées à SQL Server 2005 et Visual Studio 2005 visent spécifiquement à améliorer la compatibilité et l’efficacité de ce tandem : l’ajout de la fonctionnalité MARS (Multiple Active Results Sets), l’intégration de l’environnement CLR (Common Language Runtime) .NET et les mises à jour de l’espace de nom Transaction. Chacune de ces améliorations influe directement et de manière unique sur le développement d’applications. MARS améliore l’évolutivité en réduisant le nombre de connexions nécessaires, l’intégration du CLR permet aux développeurs et aux DBA d’étendre en toute sécurité les possibilités de la base de données et, pour finir, les mises à jour de l’espace de nom Transaction aboutissent à des transactions automatiques dignes de ce nom. Ces outils doivent aider les développeurs à créer des applications plus souples et les DBA à prendre en charge les applications qui tirent parti de fonctions de base de données allant au-delà du simple accès à une collection de lignes. Examinons maintenant comment mettre en oeuvre chacune de ces nouvelles fonctionnalités dans les applications que vous allez développer aujourd’hui. Les plus consultés sur iTPro.fr
À la une de la chaîne Tech
X
|
