> Tech
UDTF SQL, première partie

UDTF SQL, première partie

par Michael Sansoterra - Mis en ligne le 23/02/2005 - Publié en Avril 2004

Les UDTF (User-Defined Table Functions) offrent trop d'avantages pour qu'on les ignore

Pour le plus grand bien de la communauté iSeries, IBM améliore continuellement les UDF (User-Defined Functions) introduites dans SQL V4R4 pour iSeries. Ces UDF permettent aux programmeurs de construire des fonctions scalaires personnalisées ...La V5R2 leur donne le moyen de construire un autre genre de fonctions appelé UDTF (User- Defined Table Function). Contrairement à  une UDF scalaire, qui accepte des paramètres de zéro ou plus et renvoie une valeur unique, l'UDTF peut accepter des paramètres zéro ou plus et renvoyer une table de résultats à  part entière. Comme une UDTF renvoie une table de résultats, les programmeurs peuvent l'utiliser comme une table normale ou la visualiser dans une instruction Select, dans la clause From d'un subselect, ou dans une déclaration de curseur. (Une UDTF ne peut pas être référencée comme cible d'une instruction Update, Insert ou Delete.)

Vous pouvez utiliser soit SPL (SQL procedural language), soit un langage évolué, comme ILE RPG, pour mettre en oeuvre une UDTF. Les UDTF écrites en SPL sont appelées « UDTF SQL » et celles qui sont écrites dans un langage évolué (HLL) sont appelées « UDTF externes ». En général, les UDTF SQL sont utiles pour extraire des données d'une base de données DB2, tandis que elles conviennent bien pour extraire des données d'autres sources, même si des UDTF externes peuvent aussi extraire des données de DB2. Pour l'instant, nous n'examinerons que les UDTF SQL. Rappelons qu'à  partir de la V5R2, le kit de développement SQL 5722ST1 n'est plus nécessaire pour écrire du code SPL.
Comme avec les UDTF scalaires SQL, l'instruction Create Function mène une double action : elle compile le code de l'UDTF et elle enregistre le nom, les paramètres et la valeur de renvoi de l'UDTF avec la base de données. La figure 1 montre une UDTF simple qui extrait toutes les commandes d'un client des tables Orders et OrdersArchive.
Pour invoquer une UDTF dans une instruction SELECT, spécifiez le nom de la fonction et ses paramètres de la manière suivante :

Select *
From Table(GetCustomerOrders
('ACME_HDW'))
As CustOrders
Order By OrderValue
Si l'interrogation concerne une UDTF, vous devez placer le nom UDTF entre parenthèses dans le mot-clé Table. Vous devez aussi indiquer un nom de corrélation en utilisant le motclé As pour donner à  l'UDTF un nom unique dans l'instruction.
La figure 1 montre comment, pour des UDTF SQL, vous pouvez diviser l'instruction Create Function en deux parties : la définition de la fonction et l'implémentation de la fonction. La définition de la fonction va des mots-clés Create Function jusqu'à  la fin de la phrase Set Option. L'implémentation de la fonction est spécifiée entre les mots-clés Begin et End.
Pour démarrer la partie définition, l'UDTF reçoit le nom GetCustomer- Orders, qui est référencé dans la clause From d'une instruction Select. Après le nom, spécifier les éventuels paramètres d'entrée dont l'UDTF a besoin pour extraire les données désirées. Dans cet exemple, le CustomerID est déclaré comme un paramètre d'entrée appelé parmCustomerID.
Le mot-clé Returns Table distingue une UDTF d'une UDF scalaire parce qu'une UDTF peut renvoyer des colonnes multiples ainsi que des lignes. Vous devez spécifier les colonnes de la table de résultats en utilisant une syntaxe identique à  celle qui permet de définir des colonnes sur l'instruction Create Table. Une instruction SQL qui référence l'UDTF utilise les noms des colonnes de la table de résultats de la même manière que les noms de colonnes provenant d'une table ou d'une vue normale.
Le fait de spécifier Language SQL signifie que l'UDTF est écrite en SPL. Comme les UDTF ne peuvent pas s'exécuter en parallèle, la clause Disallow Parallel est toujours requise. Utilisez la clause Set Option pour définir une variété de paramètres incluant le format date, le format heure, le niveau de contrôle de commitment et l'autorité adoptée. Pour obtenir plus d'informations sur les options disponibles, voir la commande Set Option dans le guide IBM DB2 UDB for iSeries SQL Reference à  http://publib.boulder. ibm.com/iseries/v5r2/ic2924/info/db2/rbafzmst02.htm (ou la même URL se terminant par rbafsmst.pdf pour

Lire l'article
Un guide rapide vers les JSP : rejoignez l’équipe des tages

Un guide rapide vers les JSP : rejoignez l’équipe des tages

par David Bridgewater - Mis en ligne le 09/02/2005 - Publié en Mars 2004

Une application familière avec deux nouveaux trucs : le code modularisé et les tags JSP

Dans l'article « Les JSP : visite rapide » , je montrais comment écrire une application JSP (JavaServer Page) simple mais intéressante. L'application permet à  l'utilisateur de filtrer un fichier Employee au travers d'une large sélection de critères ; puis, elle affiche les résultats sous forme de table dans une page Web, en incluant le comptage du nombre d'employés trouvé ...Dans ce premier article, je signalais les défauts de conception de ma méthode. Principale critique : mon code était monolithique, mélangeant la logique de présentation, de gestion et de base de données - le genre de pratique que nous avons tous délaissée dès l'arrivée de ILE et des programmes de service. Je propose ici un exemple d'application de même fonctionnalité, mais avec deux réaménagements importants :
1. Le code est modularisé.
2. Le JSP ne contient pas de Java. En lieu et place, on trouve des constructions JSP différentes appelées tags.

Je ne prétends pas que cette nouvelle méthode soit le nec plus ultra de la bonne conception, mais c'est une amélioration indiscutable.

Lire l'article
Les nouveautés de la semaine 22 – Windows IT Pro – 2005

Les nouveautés de la semaine 22 – Windows IT Pro – 2005

Tous les nouveaux produits du 30 Mai au 5 Juin 2005

Lire l'article
News iSeries – Semaine 19 – 2005

News iSeries – Semaine 19 – 2005

Toutes les actualités du 9 au 15 Mai 2005

Lire l'article
[V4-V5]Les belles équipes ne sont pas le fruit du hasard

[V4-V5]Les belles équipes ne sont pas le fruit du hasard

par Robert S. Tipton - Mis en ligne le 21/04/2005 - Publié en Juin 2004

Les leaders sont jugés par la réussite des équipes qu'ils dirigent

Pour un bon leader IT, rien n'est plus important que sa capacité à  bien recruter, à  constituer de belles équipes et à  les guider dans leurs missions. En tant que leaders, vous serez plus souvent jugés d'après la réussite de vos équipes que sur votre propre ouvrage ...Pour avoir toutes les chances de réussir, vous devez vous entourer de la bonne combinaison de talents et de personnalités. Si vous avez la chance de constituer vous-même les équipes avec lesquelles vous travaillez, c'est superbe ! Malheureusement, d'après mon expérience, la plupart des leaders IT héritent de la plus grande partie des membres de leurs équipes, parfois de la totalité. Il est donc peu probable que vous ayez la chance de recruter les vôtres en partant de zéro. J'ai eu cette chance une fois mais, pour cela, j'ai dû créer ma propre affaire ! Dans tous les autres cas, j'ai rejoint un service ou une organisation dont le personnel était déjà  en place.
De plus, vous vous trouverez parfois à  la tête d'équipes dont vous ne maîtrisez pas la constitution. Si vous êtes le CIO (chief information officer) ou le vice-président d'IT, vous participerez très probablement comme leader d'un comité chargé d'établir la priorité des projets IT et de les financer. Souvent appelés comités de pilotage, ces groupes sont composés de cadres supérieurs venant de divers services, et des principaux acteurs financiers. Vous pouvez aussi jouer un rôle de leadership dans diverses opérations ou groupes ou comités chargés de définir la politique. A ce titre, vous dirigerez parfois des équipes que vous n'avez pas constituées et sur lesquelles vous avez peu ou pas de responsabilité de management direct.
Cet article s'intéresse aux trois principales activités liées aux équipes : recruter, rassembler et diriger. Nous examinerons mes trois règles éprouvées sur le recrutement, quelques points importants concernant la constitution des équipes, puis divers aspects touchant à  la direction ou à  la conduite, y compris des informations sur la dynamique de groupe et les types de groupes.

Lire l'article
Principes essentiels du kit de sécurité pour gérer des profils utilisateurs

Principes essentiels du kit de sécurité pour gérer des profils utilisateurs

par Dan Riehl - Mis en ligne le 30/03/2005 - Publié en Mai 2004

L'OS/400 offre quelques superbes outils d'administration pour gérer les profils utilisateur. Bien qu'il y ait profusion de commandes pour gérer ces profils, j'ai choisi mes préférées que je vous conseille vivement d'ajouter à  votre kit, ou boîte à  outils, de sécurité ...

Lire l'article
Un bon réseau sans-fil est possible

Un bon réseau sans-fil est possible

par Randy Franklin Smith - Mis en ligne le 6/07/2005 - Publié en Juillet/Août 2004

Verrouillez les connexions en provenance de vos clients mobiles

Les réseaux sans fil peuvent être sécurisés si l'on utilise les bonnes technologies. Pour ajouter un réseau sans fil sûr à  un réseau Windows existant, il suffit d'installer un ou plusieurs AP (Access Points) sans fil conformes à  802.1x sur un ordinateur utilisant Windows Server 2003 ...Le serveur Windows 2003 facilitera l'authentification 802.1x entre les clients sans fil et le réseau Windows existant. Les utilisateurs pourront accéder au réseau sans fil simplement par leurs comptes utilisateur Windows existants.

Lire l'article
Yukon : Une mine d’or

Yukon : Une mine d’or

Déjà 13 pépites

Yukon, dont la livraison est prévue fin juin pour la version beta et fin novembre pour la version finale, est la dernière version de Microsoft SQL Server. Il marque la fin d’un cycle de développement de 5 ans pour Microsoft ...La firme a ajouté tellement de nouvelles fonctions à Yukon qu’il est impossible de les énumérer toutes dans un seul article. Voici donc 13 pépites d’or que l’on risque fort de trouver dans la prochaine release notable de SQL Server.

Lire l'article
Accéder à  l’iSeries en utilisant .NET Data Provider d’IBM

Accéder à  l’iSeries en utilisant .NET Data Provider d’IBM

par Michael Otey - Mis en ligne le 23/02/2005 - Publié en Avril 2004

Connectez les applications .NET à  l'iSeries avec ce nouvel outil iSeries Access for Windows

Si vous appeliez de vos voeux un moyen facile pour que vos applications Visual Basic .NET mettent à  jour des données sur l'iSeries, c'est chose faite. iSeries Access for Windows offre désormais un nouveau DB2 UDB for iSeries .NET Data Provider avec lequel vous pourrez connecter des applications .NET à  l'iSeries ...Il est vrai qu'il existe d'autres moyens pour connecter des applications .NET à  l'iSeries : .NET Framework Data Provider for ODBC et .NET Framework Data Provider for OLE DB, tous deux de Microsoft. Cependant, d'après IBM, la connexion à  l'iSeries sera plus performante avec son nouveau iSeries .NET Data Provider qu'avec les deux autres méthodes. Avant de voir dans le détail comment utiliser l'iSeries .NET Data Provider, commençons par jeter un coup d'oeil aux principes de base de l'ADO.NET framework.

Lire l'article
Un détour par WebSphere Development Studio Client 5.1

Un détour par WebSphere Development Studio Client 5.1

par George Farr et Phil Coulthard - Mis en ligne le 09/02/2005 - Publié en Mars 2004

Dans notre série d'articles Trajet (consulter les articles), nous avons inscrit chacune des étapes d'un trajet pour ceux qui désirent actualiser leurs compétences et moderniser leurs applications.
Ici, nous nous autorisons un petit détour en chemin pour parler de la nouvelle release 5.1 de WSDc (Web- Sphere Development Studio Client), qui contient la plupart des outils décrits dans le trajet ...La release 5.1 de WSDc a été mise en disponibilité générale le 17 octobre 2003, pour les éditions standard et advanced. Rappelons que la numérotation de ces outils client est en cohérence avec WAS (WebSphere Application Server), et pas avec OS/400. Donc, ces outils client sont compatibles avec toutes les releases actives d'OS/400. Par conséquent, ils peuvent travailler avec le source de n'importe quel iSeries en V5R1 ou ultérieure. Le numéro 5.1 de cette release est légèrement décalé car il est conçu pour supporter la nouvelle release 5.02 de WAS, disponible depuis peu sur toutes les plates-formes, dont iSeries. Ce système de numérotation a une raison : cette release des outils est proactive et elle supportera également une éventuelle prochaine release 5.1 de WAS.
La release 5.1 est relativement modeste pour les outils, compte tenu que la livraison de la release 5.0 ne remonte qu'à  quelques mois (le 25 avril). C'est néanmoins une importante release dont les points forts sont la qualité, la performance, et une requête poussée de la part des utilisateurs.

Lire l'article
News iSeries – Semaine 52 – 2004

News iSeries – Semaine 52 – 2004

Toutes les actualités du 20 au 26 Décembre 2004

Lire l'article
Les nouveautés de la semaine 50 – Windows 2000 et .Net – 2004

Les nouveautés de la semaine 50 – Windows 2000 et .Net – 2004

Tous les nouveaux produits du 6 au 12 Décembre 2004

Lire l'article
Déplacer les profils utilisateurs

Déplacer les profils utilisateurs

Prêt à bricoler un peu ?

Vous ne pensez probablement pas beaucoup au temps passé à travailler sur des profils. Pourtant, si vous ajoutez toutes les minutes consacrées à modifier ce paramètre d’application et cette astuce de desktop, vous constaterez que vous avez peut-être passé des mois à transformer vos profils utilisateur en chefs-d’oeuvre personnels ...Le comble, c’est quand il faut recommencer. Supposez que votre desktop soit désaffecté ou peut-être qu’il faille simplement passer à un système plus rapide. Comment pouvez-vous soit restaurer vos paramètres à partir d’une sauvegarde, soit les transférer de l’ancien ordinateur sur le nouveau ? En gros, vous avez trois possibilités : deux approches faciles mais limitées et une approche souple et polyvalente. Malheureusement, cette dernière n’est pas documentée et demande un peu de bricolage. Commençons par les principes de base.

Lire l'article
Actualités Windows NT / 2000 – Semaine 46 – 2004

Actualités Windows NT / 2000 – Semaine 46 – 2004

Toutes les Actualités du 8 au 14 Novembre 2004

Lire l'article
Actualités Windows NT / 2000 – Semaine 43 – 2004

Actualités Windows NT / 2000 – Semaine 43 – 2004

Toutes les Actualités du 18 au 24 Octobre 2004

Lire l'article
Technologie cache FRCA de la V5R2, Première partie

Technologie cache FRCA de la V5R2, Première partie

par Brian R. Smith - Mis en ligne le 29/09/2004 - Publié en Décembre 2003

Dopez votre livraison de contenu Web

Le FRCA (Fast Response Cache Accelerator) est une nouvelle architecture de caching pour l'iSeries HTTP Server (animé par Apache) introduite dans la V5R2 (toutes les références à  HTTP Server de cet article sous-entendent HTTP Server animé par Apache)...FRCA constitue un bond technologique spectaculaire pour l'iSeries, parce qu'il peut livrer le contenu Web jusqu'à  sept fois plus vite qu'en utilisant des fichiers servis par l'IFS (integrated file system) et plus de quatre fois plus vite que le cache local traditionnel dans le HTTP Server. FRCA offre cette performance tout en utilisant environ de quatre à  sept fois moins de ressources de CPU par transaction. Ces deux possibilités jointes confèrent à  FRCA une puissance hors du commun.
Ceci est le premier de deux articles sur cette importante nouvelle technologie. Cette 1re partie donne une vue d'ensemble des possibilités et des fonctions de FRCA. La 2e partie, prévue dans un futur numéro d'iSeries NEWS, expliquera comment configurer un HTTP Server pour traiter à  la fois le caching reverse-proxy et local FRCA.

Lire l'article
Mise en place d’AD rapide et automatisée

Mise en place d’AD rapide et automatisée

Utilisez les fichiers batch pour construire votre réseau d’AD

Il m’arrive souvent de tester des configurations pour des clients, de rechercher des sujets d’articles, ou d’installer des machines de démonstration pour des cours. Tout cela m’amène à construire constamment de nouveaux réseaux d’AD (Active Directory) à partir de zéro. Les wizards deviennent rapidement pénibles, et j’ai parfois l’impression de passer une bonne partie de ma journée à attendre que des outils de type GUI me demandent une entrée.Depuis l’époque de PC-DOS 1.0, je suis un chaud partisan des fichiers batch. J’ai donc créé une série d’outils batch me permettant de mettre en place rapidement des réseaux d’AD avec un minimum d’intervention personnelle. Ce mois-ci, je vais partager avec vous ces intéressants outils automatisés.
Par souci de simplicité, je limite l’exemple de cet article à un réseau extrêmement simple constitué de deux serveurs: UptownDC et Downtown DC. L’un des serveurs est une machine Windows Server 2003 et l’autre est un serveur Windows 2000. Les outils de support et le service DNS Server sont installés sur les deux. Ma première tâche consiste à établir des adresses IP statiques sur UptownDC et DowntownDC et à définir le suffixe DNS pour qu’il corresponde à la zone DNS à créer sous peu. Les adresses IP de UptownDC et de DowntownDC sont, respectivement, 192.168.0.2 et 10. 0.0.2. Les deux serveurs se trouvent dans les réseaux en subnet- C, c’est-à-dire qu’ils utilisent les masques subnet de 255.255.255.0.
Je vais créer un domaine AD nommé bigfirm.biz mais avant cela, il me faut créer une zone DNS nommée bigfirm.biz – et cette opération est plus simple si mes serveurs DNS possèdent déjà le suffixe DNS bigfirm.biz. Par conséquent, je dois d’abord définir une adresse IP statique et un suffixe DNS. Malheureusement, je n’ai pas trouvé de bon moyen permettant de renommer les systèmes Win2K à partir de la ligne de commande. (L’outil Renamecomputer de Netdom ne vaut que pour des systèmes qui sont déjà joints aux domaines.) Il me faut donc définir les noms de machines de UptownDC et de DowntownDC à partir de la GUI.

Lire l'article
News iSeries – Semaine 37 – 2004

News iSeries – Semaine 37 – 2004

Toutes les actualités du 6 au 12 Septembre 2004

Lire l'article
Déploiement entre le poste et la sécurité

Déploiement entre le poste et la sécurité

Connectivity Secure Term de Hummingbird fournit une émulation de terminal sécurisée et des services de transfert de fichiers pour iSeries fonctionnant avec Linux. 

Connectivity Secure Term offre un choix de déploiement entre le poste et la sécurité de type browser pour les clients connectés aux hôtes Linux et Unix.

Lire l'article
Etes vous prêt pour la gestion des sinistres ?

Etes vous prêt pour la gestion des sinistres ?

Cette étude indépendante révèle que les services informatiques des grandes entreprises ne sont pas correctement préparés. 92% des sociétés internationales seraient confrontées à de graves conséquences si elles devaient mettre en oeuvre leur plan de reprise d'activité.

Une nouvelle étude révèle que les services informatiques des grandes entreprises ne sont pas correctement préparés à la gestion d'un sinistre.

Lire l'article