> Scripting
Dossier SQL Server : Utiliser toutes les différentes possibilités de SSMS (1/2)

Dossier SQL Server : Utiliser toutes les différentes possibilités de SSMS (1/2)

Bien évidement tout le monde utilise SQL Server Management Studio (SSMS) mais comme tout outil, on n'utilise que la partie que l'on connaît.

Il n'est pas question dans cet article d'expliquer comme réaliser telle opération d'administration ou bien comment il est possible d'écrire telle requête SQL, mais plutôt comment il possible d'automatiser certains usages ou d'obtenir une présentation plus lisible des informations ou bien encore comment intégrer les jeux d'instructions SQLCMD. L'objectif de cet article est donc de vous présenter quelques aspects méconnus de SSMS non pas pour savoir qu'ils existent mais bien parce qu'ils permettent de gagner du temps et facilitent l'usage de SSMS et donc le travail avec les instances SQL Server. Les quelques points mis en évidence ici ne sont pas limitatifs mais ils ont été choisis pour leur pertinence.

Lire l'article
Dossier Windows : Interfaces Graphiques en Powershell (3/3)

Dossier Windows : Interfaces Graphiques en Powershell (3/3)

Le mois dernier, nous avons vu comment créer sans effort des interfaces graphiques de saisie s’appuyant sur la technologie Windows Forms grâce à l’outil Primal Forms.

Nous avons vu également comment au prix d’un peu plus d’efforts faire la même chose avec WPF/XAML et Visual Studio 2008 Express. Ce qu’il est important de retenir c’est que l’effort supplémentaire consenti pour utiliser la technologie WPF sera largement compensé le jour où la nécessité de modifier l’interface se fera sentir. En effet, avec WPF les interfaces graphiques peuvent être décrites à l’aide du langage XAML et stockées dans un fichier à part ; ce qui permet une séparation nette entre la partie graphique et la partie métier (le script lui-même), ce qui est impossible avec les Windows Forms.
 

Lire l'article
Dossier Windows : Interfaces Graphiques en Powershell (2/3)

Dossier Windows : Interfaces Graphiques en Powershell (2/3)

Le mois dernier nous vous avons parlé des technologies Windows Forms et WPF et des cas dans lesquels préférer l’une par rapport à l’autre de ces technologies.

Nous avons seulement commencé à aborder le sujet de la création des interfaces graphiques.

Lire l'article
Dossier Windows : Interfaces Graphiques en Powershell (1/3)

Dossier Windows : Interfaces Graphiques en Powershell (1/3)

A l’heure où PowerShell est omniprésent, il est tout à fait légitime de se poser la question : « A quoi bon vouloir des interfaces graphiques alors que la philosophie de PowerShell est de se substituer à ces dernières ? ».

En effet, si cela peut sembler paradoxal de prime abord, en prenant un peu de recul, il est facile de trouver de nombreuses bonnes raisons qui font que les interfaces graphiques sont finalement complémentaires aux scripts.

Lire l'article
Célébrons la cryptographie courante

Célébrons la cryptographie courante

La division des algorythmes pour une meilleur approche de la cryptographie.
On peut diviser les algorithmes de cryptage en deux catégories : simples et complexes. Pour les premiers, nous avons RSA, l’algorithme « Rivest Shamir Adleman » sans brevet.

Lire l'article
L’essentiel sur les CSS

L’essentiel sur les CSS

Cet article donne une vue d’ensemble de CSS et explique comment il peut vous aider à créer des documents Web plus séduisants.
En termes simples, HTML est « le langage » des documents Web. Il décrit la structure et montre le contenu de votre page Web. Un cran au-dessus, les CSS (Cascading Style Sheets) disent au navigateur comment présenter vos informations dans cette structure HTML, afin que votre page ait plus de personnalité et suscite plus d’intérêt.

Contenu complémentaire :
Simplifier les applications web avec Ajax, RPG et XSL

Lire l'article
Windows PowerShell pour Exchange

Windows PowerShell pour Exchange

Windows PowerShell a déjà 4 ans ! En Octobre 2004, Jeffrey Snover enregistrait ses premières présentations publiques sur Channel 9. En Avril 2006, c’était le tour du blog Windows PowerShell d’être inauguré.

Il semblerait que l’évangélisation et l’adoption par la communauté IT fût une réussite, puisqu’en Novembre 2007, Windows PowerShell a été intégré au Common Engineering Criteria (CEC) 2009. En d’autres termes, tout produit serveur commercialisé à partir de Juillet 2008 devra intégrer le support de Windows PowerShell.

 

Contenu complémentaire :

Windows PowerShell et Exchange Management Shell

Lire l'article
Scripting de schéma SQL Server 2005

Scripting de schéma SQL Server 2005

Vous est-il déjà arrivé d’avoir à scripter le schéma de base de données aux fins d’archivage ? Ou votre patron vous a peut-être demandé avec insistance de mieux documenter vos bases de données afin de respecter les exigences de la loi américaine SOX (Sarbanes-Oxley), laquelle impose aux sociétés de certifier leurs comptes auprès de l’autorité de régulation des marchés boursiers américains (SEC). L’API SMO (SQL Management Options) dans SQL Server 2005 facilite la tâche consistant à scripter les tables, procédures stockées, vues, fonctions définies par l’utilisateur (UDF) et autres objets de schéma au sein de vos bases de données.

Le présent article décrit un utilitaire en mode console Windows simple, intitulé SchemaCollector. Celui-ci est écrit en C# au moyen du .NET Framework et vous permet de collecter le schéma de base de données.
Vous spécifiez une instance SQL Server chargée d’exécuter l’utilitaire par rapport à un argument de ligne de commande et le programme de collecteur de schéma génère les différents fichiers de sortie de schéma pour les tables, procédures stockées, vues, fonctions et rôles dans les sous-répertoires appropriés d’une arborescence de répertoires. Il est possible de télécharger le code source complet de l’utilitaire SchemaCollector à l’adresse http://www.itpro.fr, Club Abonnés.

Contenu complémentaire :

Article : Révisez vos bases de la conception avec SQL Diagrammer
Article : Fonctionnalité SQL Server 2005 facilement ignorées

Lire l'article
10 clés pour le scripting shell de commandes

10 clés pour le scripting shell de commandes

Les scripts shell sont des fichiers en texte clair qu’un shell de commandes interprète comme une suite de commandes à exécuter dans l’ordre. Ils ont une longue histoire : le shell Command.com dans MS-DOS a permis le scripting shell Cmd.exe a encore toute sa place dans la panoplie du professionnel informatique. Ainsi, un simple script shell avec une commande For peut transformer une commande qui travaille avec seulement un ordinateur ou un nom d’utilisateur à la fois sur la ligne de commande, en une commande capable de balayer le fichier texte et de s’exécuter pour chaque ligne du fichier. Comme les scripts shell sont des fichiers en texte clair qui contiennent une suite de commandes, ils sont faciles à créer, à modifier et à comprendre. Mais cette simplicité peut avoir son revers.

En effet, un script shell écrit à la va-vite peut faire des ravages. J’en ai vu faire des suppositions incorrectes à propos de l’OS ou de l’environnement sous-jacent qui, au mieux, les empêchent de fonctionner correctement, ou au pire, sèment le chaos dans un système parfaitement confiant. C’est pour vous éviter de tels pièges que j’ai écrit les 10 conseils clés suivants, pour créer des scripts plus robustes donnant satisfaction dans divers environnements.

Lire l'article
Guide pour traiter les erreurs de SQL imbriqué

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
Suivre à  la trace le fonctionnement interne des applications réseau

Suivre à  la trace le fonctionnement interne des applications réseau

La commande TRCINT (Trace Internal) de i5/OS collecte de nombreux types de traces de composantes LIC (Licensed Internal Code). La série Dépanner TCP/IP se poursuit par l’examen du petit sous-ensemble de points de trace de composantes de sockets qui vous montrent les API sockets. Toute application réseau active sur votre système utilise des API sockets et, si vous comprenez ces points de trace, vous pourrez facilement cibler les problèmes de communications et les résoudre prestement.
Les points de trace des API sockets que j’explique ici sont apparus pour la première fois dans OS/400 V4R4. De nombreux changements et de nombreuses mises à jour de ces points de trace ont eu lieu au fil des ans et des releases successives. Une mise à jour de la V5R1 a ajouté le nom de l’API socket à chacun des points de trace afin de faciliter son débogage. En effet, sans le nom de chaque API dans les données des points de trace, il est très difficile de savoir ce que l’application accomplit.

C’est pourquoi je recommande de n’examiner une trace que sur une version V5R1 ou ultérieure. J’ai créé la sortie TRCINT de cet article sur un système en V5R4. Si vous collectez une trace d’API socket sur une release pré-V5R4, vous constaterez peut-être de petites différences. Certains des numéros de points de trace ont été changés en V5R3 lorsque de nouvelles API sockets ont été ajoutées au système. IBM a également ajouté des données de débogage à ces points de trace dans chaque release V5Rx. Par conséquent, ne vous attendez pas à ce qu’une sortie de points de trace pré-V5R4 ressemble exactement aux figures de cet article. IBM pourrait fort bien modifier l’information de trace interne dans les futures releases de i5/OS, s’il s’avère que des informations supplémentaires aideraient à déboguer les problèmes réseau.

Contenus complémentaires :
Article iTPro.fr : Les API : guide pour débutants
TCP/IP et sockets en RPG

Lire l'article
Quelques considérations pour réussir l’implémentation d’ILE

Quelques considérations pour réussir l’implémentation d’ILE

Le 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.

Au cours des 12 dernières années, j’ai travaillé sur de nombreuses implémentations d’ILE. Je puis donc affirmer qu’il n’a pas deux projets identiques, mais que beaucoup de règles de base s’appliquent dans tous les cas. Ici, j’explique certaines des considérations pour une implémentation ILE réussie, comment contrôler et gérer l’environnement de développement, et comment optimiser les atouts d’ILE. Bien que je me place sous l’angle des applications écrites en RPG, la plupart des propos s’appliquent aussi au Cobol.

Lire l'article
Reconnaissance de modèle pour faciliter la programmation RPG moderne

Reconnaissance de modèle pour faciliter la programmation RPG moderne

Vous 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 ? »

Si vous vous reconnaissez dans ce questionnement, sachez que vous n’êtes pas le seul dans ce cas. Il ne suffit pas de comprendre les concepts pour apprendre ILE. Il faut aussi apprendre un nouveau modèle de conception. Peut être inconsciemment, si vous programmez depuis plusieurs années, vous avez développé vos propres modèles de conception. Vous réalisez une bonne programmation avec ces modèles parce que vous les utilisez depuis plusieurs années. Mais chaque fois que vous passez d’un paradigme de programmation à un autre, il vous faut apprendre de nouveaux modèles.

Quand vous aurez développé de puissants nouveaux modèles de conception dans ILE, vous serez efficaces et pourrez tirer parti de la capacité de réutilisation et de la facilité de maintenance qui valorisent les programmes ILE de votre société (ou client) par rapport aux anciennes méthodes.

Lire l'article
5 étapes pour développer et déployer du code CLR dans SQL Server

5 étapes pour développer et déployer du code CLR dans SQL Server

Itzik 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 ?

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

Développer du code performant et de qualité avec Visual Studio 2008



les versions 2003 et 2007 d’Office.

Lire l'article
Que se passe-t-il dans mon script ?

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 scripts

Veillez à  bien protéger vos scripts

Vous 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 2005

Astuces concernant l’IDE Visual Studio 2005

J’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
Démystification du débogage dans SQL Server 2005

Démystification du débogage dans SQL Server 2005

Pour déboguer une procédure stockée T-SQL dans SQL Server 2000, vous faites appel à l’Analyseur de requêtes (Query Analyzer). Il suffit de cliquer avec le bouton droit de la souris sur la procédure stockée et de sélectionner Débogage (Debug). Dans SQL Server 2005, l’Analyseur de requêtes est remplacé par SQL Server Management Studio et il serait logique de penser que la démarche sera similaire, à savoir cliquer avec le bouton droit de la souris sur la procédure stockée T-SQL et sélectionner la fonction de débogage de Management Studio. Ce n’est malheureusement pas aussi simple car vous ne trouverez aucune option de débogage.Dans SQL Server 2005, le débogage d’une procédure stockée T-SQL passe par l’utilisation de l’environnement de développement Visual Studio 2005. Mais, avant d’en arriver là, il faut avoir de la matière à déboguer. Au lieu de reprendre une procédure stockée existante ou d’en créer une dans Management Studio, nous allons en construire une via le type de projet mal connu Database de Visual Studio 2005. Dans les projets Database, vous pouvez accéder au Query and View Designer, lequel fournit des outils graphiques pouvant servir à créer des procédures stockées T-SQL.

Lire l'article