Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés Volubis.fr
|
|
|
- Armand Goudreau
- il y a 10 ans
- Total affichages :
Transcription
1 Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés et 14 mai 2014 IBM Client Center Paris, Bois-Colombes Volubis.fr Conseil et formation sur OS/400, I5/OS puis IBM i depuis 1994! Dans nos locaux, vos locaux ou par Internet Christian Massé - [email protected]
2 SQL propose de créer vos propres fonctions -> UDF ou User Defined Fonction. Ces fonctions qui permettent d'enrichir le SQL ne retournent qu'une valeur sous la forme date2 = findemois(date1) Par exemple Select datcde, datliv, findemois(datliv) from entcdes Select * from entcdes Where findemois(datliv) > current date Insert into entcdes (nocde, datcde, datliv) VALUES( (select max(nocde) + 1 from entcdes), current date, findemois(current date) )
3 SQL propose de créer vos propres fonctions -> UDF ou User Defined Fonction. Ces fonctions peuvent être écrites en SQL PSM (PL/SQL) en java (voir plus loin dans cette présentation) En langage RPG ou COBOL, auquel cas Cela peut faire référence à un programme à une procédure dans un programme de service
4 Exemple en SQL/PSM CREATE FUNCTION AF4TEST/TODATE ( DATIN DECIMAL(8, 0) ) RETURNS DATE LANGUAGE SQL BEGIN RETURN DATE ( LEFT ( DATIN, 4 ) CONCAT '-' CONCAT SUBSTR ( DATIN, 5, 2 ) CONCAT '-' CONCAT RIGHT ( DATIN, 2 ) ) ; END ;
5 Utilisation Fonctions SQL
6 Exemple en SQL/PSM CREATE FUNCTION AF4TEST/NBRDEVINS ( CODE INTEGER ) RETURNS INTEGER LANGUAGE SQL BEGIN DECLARE NOMBRE INTEGER ; SELECT COUNT ( * ) INTO NOMBRE FROM BDVIN0 / VINS WHERE PR_CODE = CODE ; RETURN NOMBRE ; END ;
7 Exemple avec un programme de service : CREATE FUNCTION AF4TEST/NBCAR (CHAR(50) ) RETURNS INTEGER EXTERNAL NAME 'AF4TEST/NBCAR(NBCAR)' PARAMETER STYLE GENERAL RETURNS NULL ON NULL INPUT RAPPEL : un programme de service est l'équivalent d'une DLL Windows. c'est à dire un objet contenant PLUSIEURS routines autonomes, créé à partir du langage C, COBOL ou RPG4. Pour le GAP4, le source commence par NOMAIN (pas de pgm principal) et chaque routine est encadrées de deux "spécifs" P (début/fin) ou Dcl-proc/End-proc
8 ********************************************************* * compte le nbr de caractères non blancs ********************************************************** H nomain D nbcar pr 10I 0 D chaine 50 const Pnbcar B export D nbcar pi 10I 0 D chaine 50 const D w s 10I 0 D i s 10I 0 /free for i = 1 to %len(%trim(chaine)); if %subst(chaine : i : 1) <> ' '; w = w +1; endif; endfor; return w; /end-free Pnbcar E
9 ///////////////////////////////////////////////////////////////////////// // free format : compte le nbr de caractères non blancs ///////////////////////////////////////////////////////// ctl-opt NOMAIN; dcl-pr nbcar int(10); chaine char(50) const; end-pr; dcl-proc nbcar EXPORT; dcl-pi *N int(10); chaine char(50) const; end-pi; dcl-s w int(10); dcl-s i int(10); for i = 1 to %len(%trim(chaine)); if %subst(chaine : i : 1) <> ' '; w = w +1; endif; endfor; return w; end-proc;
10 Exemple avec un programme de service :
11 Exemple avec un programme : CREATE FUNCTION AF4TEST/NBNUM (CHAR(50) ) RETURNS INTEGER EXTERNAL NAME 'AF4TEST/NBNUM' LANGUAGE RPGLE NO SQL PARAMETER STYLE SQL RETURNS NULL ON NULL INPUT Dans le cas d'un programme (tout langage), vous recevez des paramètres de manière traditionnelle. Autant de paramètres qu'il y en a dans la fonction, plus UN pour la valeur retour. : : Ainsi que ceux correspondant à votre choix (SQL, DB2SQL,...)
12 *********************************************************** * compte le nbr de chiffre avant premier blanc ********************************************************* *paramètres DNBNUM PI EXTPGM('NBNUM') D chaine 50 D retour 10I 0 *indicateurs SQL (-1 = null, 0 = non null) D chaine_ind 5I 0 D retour_ind like(chaine_ind) * D SQLSTATE 5 D fonction_qual 139 D fonction_nom 128 D msg_diag 70 varying * autres variables de travail D w s 10I 0 D i s 10I 0
13 /free // début du code SQLSTATE = '00000'; for i = 1 to %len(%trim(chaine)); if %subst(chaine : i : 1) < '0' or %subst(chaine : i : 1) > '9'; // car autre que blanc ==> erreur if %subst(chaine : i : 1) <> ' '; SQLSTATE = '38I01'; msg_diag = 'zone contient des car. invalides'; endif; Else; // un chiffre w = w +1; endif; endfor; retour = w; *inlr = *on; /end-free
14 ////////////////////////////////////////////////////////// // free Form, compte le nbr de chiffre avant premier blanc ////////////////////////////////////////////////////////// ctl-opt dftactgrp(*no); // paramètres dcl-pi *N; chaine char(50); retour int(10); chaine_ind int(5); retour_ind like(chaine_ind); SQLSTATE char(5); fonction_qual char(139); fonction_nom char(128); msg_diag varchar(70); end-pi; dcl-s w int(10); dcl-s i int(10); // début du code SQLSTATE = '00000';
15 Exemple avec un programme F1
16 Il peut exister plusieurs versions d'une même fonction par exemple CALECHEANCE( date) et CALECHEANCE( dec(8,0) ), dans le fichier SYSFUNCS, cela s appelle une signature (PARM_SIGNATURE) c'est le type qui fait référence, pas la longueur (par exemple transmettre dec(8,0) ou dec(6,0) c'est pareil) Donc si vous essayez > SELECT NBNUM('123456') from QSQPTABL NBNUM de type *N dans *LIBL non trouvé. (SQL0204) SQL n'a pas trouvé la version de NBNUM attendant du VARCHAR (en effet les constantes sont toujours traitées par SQL comme du VARCHAR)
17 le plus simple semble être de créer une deuxième version de la fonction : CREATE FUNCTION AF4TEST/NBNUM (p1 VARCHAR(50) ) RETURNS INTEGER LANGUAGE SQL RETURN NBNUM( CAST(P1 as CHAR(50) ) )
18 L'utilisation de fonctions a un coût car on ne peux pas utiliser directement d'index. les fonctions écrites en RPG, particulièrement dans des *SRVPGM, sont plus rapides. Celles écrites en Java, probablement les plus longues à l'exécution. Pour améliorer les performances, ajoutez : NOT FENCED sans ce paramètre la fonction est lancée dans un second JOB de type BCI (ce qui d'ailleurs rend compliqué le Debug)
19 L'utilisation de fonctions a un coût car on ne peux pas utiliser directement d'index. Pour améliorer les performances, ajoutez : DETERMINISTIC indiquant que cette fonction avec les mêmes paramètres fournie toujours les mêmes résultats NO EXTERNAL ACTION indiquant que cette fonction ne lance pas d'autres traitements que DB2 (Data area, IFS, etc...) Ces deux derniers paramètres vont permettre à DB2 de faire du cache et de ne jamais appeler deux fois la fonction avec des valeurs identiques
20 Quelques remarques pour les fonctions écrites en Java (HTTPGetBlob, par exemple) : les classes Java doivent être copiées dans /QIBM/UserData/OS400/SQLLib/Function les fichiers jar doivent être en enregistrés par la procédure SQLJ.INSTALL_JAR la connexion peut se faire avec les paramètres jdbc:default:connection pour se connecter à la base locale l'accès aux données se fait en Unicode, donc pas de JOB au CCSID à 65535! la méthode doit être public static (void pour une procédure, un type retour compatible SQL, pour une fonction) les types des paramètres doivent être compatibles entre Java et SQL, Exemple : CREATE FUNCTION SYSTOOLS.HTTPGETBLOB ( URL VARCHAR(2048) CCSID 1208, HTTPHEADER CLOB(10240) CCSID 1208 ) RETURNS BLOB( ) LANGUAGE JAVA SPECIFIC SYSTOOLS.HTTPGETBLOBNONXML NOT DETERMINISTIC NO SQL CALLED ON NULL INPUT EXTERNAL NAME 'SYSTOOLS.DB2RESTUDF:com.ibm.db2.rest.DB2UDFWrapper.httpGetBlob' PARAMETER STYLE JAVA ;
21 Fonctions TABLE Pour retourner plusieurs valeurs, vous pouvez écrire des fonctions tables, qui retourne des lignes (donc une série de colonnes) comme une table (ou un fichier) Exemple : CREATE FUNCTION SYSTOOLS/HTTPGETBLOBVERBOSE ( URL VARCHAR(2048) CCSID 1208, HTTPHEADER CLOB(10240) CCSID 1208 ) RETURNS TABLE ( RESPONSEMSG BLOB( ), RESPONSEHTTPHEADER CLOB( ) CCSID 1208 ) LANGUAGE JAVA SPECIFIC SYSTOOLS/HTTPGETBLOBVERBOSENONXML NOT DETERMINISTIC NO SQL CALLED ON NULL INPUT SCRATCHPAD 100 EXTERNAL NAME 'SYSTOOLS.DB2RESTUDF:com.ibm.db2.rest.DB2UDFWrapper.httpGetBlobVerbose' PARAMETER STYLE DB2GENERAL ;
22 Fonctions TABLE 1/ en PL SQL cela consiste à placer un SELECT sur la clause RETURN. IBM fourni un exemple avec la fonction USERS() dont voici le source CREATE FUNCTION SYSIBM.USERS ( ) RETURNS TABLE ( ODOBNM CHAR(10), ODOBTX CHAR(50) ) LANGUAGE SQL READS SQL DATA BEGIN DECLARE CMD CHAR ( 300 ) DEFAULT ' ' ; DECLARE WARN CONDITION FOR '01HII' ; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SIGNAL WARN SET MESSAGE_TEXT = 'SOME USERS NOT AVAILABLE' ; SET CMD = 'QSYS/DSPOBJD qsys/*all *USRPRF OUTPUT(*OUTFILE) ' CONCAT ' OUTFILE(qtemp/q_users) ' ; CALL QSYS. QCMDEXC ( CMD, ) ; RETURN SELECT ODOBNM, ODOBTX FROM QTEMP.Q_USERS ; END ;
23 Fonctions TABLE Utilisation : SELECT * from TABLE( udtf() ) as alias Select * from TABLE ( sysibm.users() ) as u
24 Fonctions TABLE Utilisation : Bien sur, vous pouvez utiliser TOUTE la puissance de la syntaxe SQL
25 Fonctions TABLE Dans ce cadre, nous vous donnons un exemple basé sur DSPPGMREF CREATE FUNCTION FORMATION0.PGMREF ( PGMPARM VARCHAR(10), LIBPARM VARCHAR(10) ) RETURNS TABLE ( PGM CHAR(10), OBJRFF CHAR(11), LIBREF CHAR(11), OBJTYPE CHAR(10) ) LANGUAGE SQL READS SQL DATA BEGIN DECLARE CMD CHAR ( 300 ) DEFAULT ' ' ; DECLARE WARN CONDITION FOR '01HII' ; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SIGNAL WARN SET MESSAGE_TEXT = 'Liste en erreur' ; SET CMD = 'QSYS/DSPPGMREF PGM(' CONCAT trim(libparm) concat '/' CONCAT trim(pgmparm) CONCAT ') OUTPUT(*OUTFILE) OUTFILE(qtemp/dsppgm) ' ; CALL QSYS. QCMDEXC ( CMD, ) ; RETURN SELECT WHPNAM, WHFNAM, WHLNAM, WHOTYP FROM qtemp.dsppgm ; END ;
26 Fonctions TABLE 2/ External (ici en RPG utilisant des API) Dans cet exemple, nous utiliserons l'api QUSLMBR qui permet d'obtenir la liste des membres dans un User Space -> la fonction est définie de la manière suivante CREATE FUNCTION AF4TEST/LISTMBR ( BIB CHAR(10), FILE char(10), MBR char(10) ) RETURNS TABLE (NOM CHAR(10), TYPE CHAR(10), DATCRT DATE, DATCHG DATE, texte char(50) ) EXTERNAL NAME 'AF4TEST/LISTMBR' PARAMETER STYLE DB2SQL DISALLOW PARALLEL
27 Fonctions TABLE Paramètres en entrée : autant que de paramètres déclarés (ici 3) + autant que de colonnes retour (ici 5) des variables binaires (8) pour signaler la nullité(-1) ou pas (0) des paramètres puis des paramètres standard SQL : SQLSTATE nom qualifié de la fonction nom simple de la fonction une zone message (taille variable) call_type : type d'appel,le pgm est appelé une première fois pour réaliser un pseudo "Open", call_type est alors égal à -1 n fois avec call_type à 0, il doit retourner UNE ligne ou SQLSTATE à '02000' pour signaler la fin de fichier une dernière fois représentant un pseudo "Close" avec call_type à 1
28 Fonctions TABLE dlistmbr PI EXTPGM('LISTMBR') *paramètres définis dans CREATE FUNCTION d INbib 10 d INfile 10 d INmbr 10 *paramètres définis dans CREATE FUNCTION d OUTnom 10 d OUTtype 10 d OUTdatcrt D d OUTdatchg D d OUTtexte 50 * indicateurs valeur nulle d INbib_i 5I 0 d INfile_i 5I 0 d INmbr_i 5I 0 * indicateurs valeur nulle d OUTnom_i 5I 0 d OUTtype_i 5I 0 d OUTdatcrt_i 5I 0 d OUTdatchg_i 5I 0 d OUTtexte_i 5I 0 * paramètres standards (STYLE SQL) DSQLSTATE 5 Dfonction_qual 517 VARYING Dfonction_name 128 VARYING Dmessage_diag 80 VARYING Dcall_type 10I 0
29 Fonctions TABLE Autres déclarations * prototype pour API création/destruction User Space dquscrtus PR EXTPGM('QUSCRTUS') d space 20 CONST d USattribut 50 CONST d UStaille 10I 0 CONST d UScontenu 1 CONST d USdroits 10 CONST d UStexte 50 CONST d USreplace 10 CONST d USerrcode likeds(errcodeds) dqusdltus PR EXTPGM('QUSDLTUS') d space 20 CONST d USerrcode likeds(errcodeds) * prototype pour API qui retrouve pointeur de début dqusptrus PR EXTPGM('QUSPTRUS') d space 20 CONST d ptr * Dusrspc s 20 inz('listmbr QTEMP') dquslmbr PR EXTPGM('QUSLMBR') d space 20 CONST d format 8 CONST d ficlib 20 CONST d membre 10 CONST d OVRDBF N CONST
30 Fonctions TABLE * va contenir l'adresse de début du User Space Dpointeur s * DI s 10i 0 * l'entête Dptrinfos s * DRTVINF ds based(ptrinfos) D offset 10i 0 D taille 10i 0 D nbpostes 10i 0 D lgposte 10i 0 * la liste dptrliste s * Dmembre ds based(ptrliste) qualified d nom 10 d type 10 d DatCrt 7 d HeurCrt 6 d DatChg 7 d HeurChg 6 d texte 50 DerrcodeDS ds qualified d tailleds 10i 0 inz(%size(errcodeds)) d taille 10i 0 d msgid 7 d reserve 1 d errdta 50
31 Fonctions TABLE if call_type < 0 ; // premier appel, constitution de la liste SQLSTATE = '00000' ; // création du user Space dans QTEMP QUSCRTUS(usrspc: *Blanks: 1024: x'00': '*USE': 'Liste des membres': '*YES' : errcodeds); // remplissage avec la liste des membres QUSLMBR(usrspc: 'MBRL0200': INfile + INbib : INmbr: *OFF); // recupération et émmorisation pointeur de début QUSPTRUS(usrspc : pointeur); ptrinfos = pointeur + 124; // position sur 1er poste ptrliste = pointeur + offset; return; elseif call_type = 0 ; // appel "normal", retour d'un membre i+=1; if i<=nbpostes; // on est déjà sur le poste avec le pointeur OUTnom = membre.nom; OUTtype = membre.type;
32 Fonctions TABLE // test date non convertible (probablement à zéro) Monitor; OUTdatcrt = %date(membre.datcrt : *CYMD0); on-error *all; OUTdatcrt_i = -1; Endmon; Monitor; OUTdatchg = %date(membre.datchg : *CYMD0); on-error *all; OUTdatchg_i = -1; Endmon; OUTtexte = membre.texte; // position sur prochain poste (sauf dernière fois) if i<nbpostes; ptrliste = ptrliste + lgposte; endif; else; // fin de liste SQLSTATE = '02000'; *INLR = *on; endif; return; else; // appel final, faire le ménage QUSDLTUS(usrspc: errcodeds) ; *inlr = *on; endif;
33 Fonctions TABLE Utilisation Comme vu plus haut, toute constante étant réputée de type VARCHAR, il faut caster
34 Fonctions TABLE Utilisation Là aussi la fonction aurait pu être utilisée comme ceci
35 Fonctions TABLE Quelques fonctions tables fournies par IBM GET_JOB_INFO() OBJECT_STATISTICS() DISPLAY_JOURNAL() USERS GROUP_USERS infos sur un JOB liste d'objets affiche le contenu du journal liste les utilisateurs les membres d'un groupe Plus toutes les fonctions Httpxxxx qui sont livrées sous deux formes UDF retournant le flux fourni par le serveur http interrogé UDTF retournant deux colonnes : 1/ le flux 2/ l'entête http (contenant le code 404, par exemple) HttpGetBlobVerbose HttpPutBlobVerbose HttpPostBlobVerbose HttpDeleteBlobVerbose HttpBlobVerbose httpheadverbose httpgetclobverbose httpputclobverbose httppostclobverbose httpdeleteclobverbose httpclobverbose
Modernisation et développement d applications IBM i Technologies, outils et nouveautés 2012/2013. Volubis.fr
Modernisation et développement d applications IBM i Technologies, outils et nouveautés 2012/2013 8 et 9 Avril 2013 IBM Forum de Bois-Colombes Volubis.fr Conseil et formation sur OS/400, I5/OS puis IBM
Modernisation et développement d applications IBM i Technologies, outils et nouveautés 2012/2013. Volubis.fr
Modernisation et développement d applications IBM i Technologies, outils et nouveautés 2012/2013 8 et 9 Avril 2013 IBM Forum de Bois-Colombes Volubis.fr Conseil et formation sur OS/400, I5/OS puis IBM
S1 Boostez votre productivité avec la version 9 des solutions Rational pour IBM i
Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés 2013-2014 13 et 14 mai 2014 IBM Client Center Paris, Bois-Colombes S1 Boostez votre productivité avec la
CREATION WEB DYNAMIQUE
CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de
Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.
Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes [email protected] 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger
Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL
Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions
Olivier Mondet http://unidentified-one.net
T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage
Configurer la supervision pour une base MS SQL Server Viadéis Services
Configurer la supervision pour une base MS SQL Server Référence : 11588 Version N : 2.2 : Créé par : Téléphone : 0811 656 002 Sommaire 1. Création utilisateur MS SQL Server... 3 2. Configuration de l accès
Mysql avec EasyPhp. 1 er mars 2006
Mysql avec EasyPhp 1 er mars 2006 Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requètes vers les bases de données relationnelles. Il en reprend la syntaxe
S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i
Modernisation IBM i Nouveautés 2014-2015 IBM Power Systems - IBM i 19 et 20 mai 2015 IBM Client Center, Bois-Colombes S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i Mardi
MS SQL Express 2005 Sauvegarde des données
MS SQL Express 2005 Sauvegarde des données Création : 08.04.2011 Modification : 08.04.2011 Situation La base de données gratuite MSSQL Express 2005 ne dispose pas d agent (planificateur de tâche) comme
SQL Historique 1982 1986 1992
SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse
OpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
PHP 5. La base de données MySql. A. Belaïd 1
PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple
Paginer les données côté serveur, mettre en cache côté client
Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule
Le Langage SQL version Oracle
Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI [email protected]
Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS
Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)
Le langage SQL (première partie) c Olivier Caron
Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)
Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées
Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :
Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org
Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org Diffusé par Le Projet Documentation OpenOffice.org OpenOffice.org Documentation Project How-To Table des matières 1. Introduction...3
Cours Bases de données 2ème année IUT
Cours Bases de données 2ème année IUT Cours Bilan : Des vues à PL/SQL corrigé Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Cas exemple 2 Les tables... 3 Vues et index 4 Privilèges 5 Fonctions
Stockage du fichier dans une table mysql:
Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table
COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2
SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES
Attaques applicatives
Attaques applicatives Attaques applicatives Exploitation d une mauvaise programmation des applications Ne touche pas le serveur lui-même mais son utilisation/ configuration Surtout populaire pour les sites
S8 - Sécurité IBM i : nouveautés 6.1 et 7.1
Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés 2013-2014 13 et 14 mai 2014 IBM Client Center Paris, Bois-Colombes S8 - Sécurité IBM i : nouveautés 6.1
Introduction à JDBC. Accès aux bases de données en Java
Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique [email protected] 1 Introduction JDBC : Java Data Base Connectivity
Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12
Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures
1/ Présentation de SQL Server :
Chapitre II I Vue d ensemble de Microsoft SQL Server Chapitre I : Vue d ensemble de Microsoft SQL Server Module: SQL server Semestre 3 Année: 2010/2011 Sommaire 1/ Présentation de SQL Server 2/ Architerture
Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes
Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition
Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
SPOOL 2 VOLUBIS. VOLUBIS Tel 02.40.30.00.70 5 rue du Tertre Fax 02.40.30.39.22 44470 Carquefou [email protected]
SPOOL 2 VOLUBIS VOLUBIS Tel 02.40.30.00.70 5 rue du Tertre Fax 02.40.30.39.22 44470 Carquefou [email protected] SPOOL 2 PRÉSENTATION... 4 CONFIGURATION TECHNIQUE DE VOTRE AS/400... 5 ATTENTION, si vous
Langage SQL : créer et interroger une base
Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,
Mysql. Les requêtes préparées Prepared statements
Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production
Le langage SQL pour Oracle - partie 1 : SQL comme LDD
Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger
Présentation Windows Azure Hadoop Big Data - BI
Présentation Windows Azure Hadoop Big Data - BI Sommaire 1. Architecture Hadoop dans Windows Azure... 3 2. Requête Hive avec Hadoop dans Windows Azure... 4 3. Cas d études... 5 3.1 Vue : Administrateur...
Java DataBaseConnectivity
Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage
Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.
: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL
Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle
Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Ce projet comporte trois parties sur les thèmes suivants : création de base de donnée, requêtes SQL, mise en œuvre
Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Devoir Data WareHouse
Université Paris XIII Institut Galilée Master 2-EID BENSI Ahmed CHARIFOU Evelyne Devoir Data WareHouse Optimisation, Transformation et Mise à jour utilisées par un ETL Mr R. NEFOUSSI Année 2007-2008 FICHE
Le Langage De Description De Données(LDD)
Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,
FileMaker 13. Guide de référence SQL
FileMaker 13 Guide de référence SQL 2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont des marques commerciales de
Session S12 Les bases de l optimisation SQL avec DB2 for i
Session S12 Les bases de l optimisation SQL avec DB2 for i C. GRIERE [email protected] STG Lab Services IBM i Avril 2012 Les fleurs et les requêtes SQL Lorsque l on veut planter de nouvelles fleurs dans
Manuel d'installation
CyberMUT P@iement P@iement CIC P@iement OBC SERVICE SECURISE DE PAIEMENT INTERNET PAR CARTE BANCAIRE (Sécurisé par le protocole SSL) Manuel d'installation (Document 2/2) EURO Sp.Tech. 1.2.8 Octobre 2001
Bases de données avancées
Bases de données avancées Jean-Yves Antoine LI - Université François Rabelais de Tours [email protected] UFR Sciences et Techniques IUP SIR Blois Master 1 Bases de Données avancées IUP Blois,
A QUOI SERVENT LES BASES DE DONNÉES?
BASE DE DONNÉES OBJET Virginie Sans [email protected] A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès
BIRT (Business Intelligence and Reporting Tools)
BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»
Les bases de l optimisation SQL avec DB2 for i
Les bases de l optimisation SQL avec DB2 for i Christian GRIERE [email protected] Common Romandie 3 mai 2011 Les fleurs et les requêtes Lorsque l on veut planter de nouvelles fleurs dans un jardin il
Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008
Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application
Exercices sur SQL server 2000
Exercices sur SQL server 2000 La diagramme de classe : Exercices sur SQL server 2000 Le modèle relationnel correspondant : 1 Créer les tables Clic-droit on Tables et choisir «New Table» Créer la table
1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5
1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases
Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)
PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et
Introduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW
A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW Groupe : 322 Exploitation des Banques de données 420-PK6-SL (1-2-1) Étape : 3 Professeur Nom: Marcel Aubin Courriel : [email protected]
Serveur d'archivage 2007 Installation et utilisation de la BD exist
Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier
Open Source Job Scheduler. Installation(s)
Open Source Job Scheduler Installation(s) Installations Standard Configuration Superviseur Agent SOS-Paris 2 Pré-requis o Base de données o MySQL, MSACCESS, Oracle o JDBC ou ODBC o Connecteurs o Mysql
Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données
Base de Données Cours Introductif Base de Données Quelques chiffres Évolution annuelle moyenne 2004/2000 15% +20% 12% 5% 0.5% 2000 2004 L3G IA SG mono poste : Part de marché 5% 5% 10% Paradox 65% SG 15%
Présentation du PL/SQL
I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur
Chapitre 5 : Les procédures stockées PL/SQL
I. Introduction Une procédure ou une fonction stockée est un bloc PL/SQL nommé pouvant accepter des paramètres et être appelée. Généralement, on utilise une fonction pour calculer une valeur. Les procédures
Le langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais
BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3
Gestion de base de données
Université Libre de Bruxelles Faculté de Philosophie et Lettres Département des Sciences de l Information et de la Communication Gestion de base de données Projet : Take Off ASBL Cours de M. A. Clève STIC-B-505
Historisation des données
Historisation des données Partie 1 : mode colonne par Frédéric Brouard, alias SQLpro MVP SQL Server Expert langage SQL, SGBDR, modélisation de données Auteur de : SQLpro http://sqlpro.developpez.com/ "SQL",
Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications
Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub [email protected] http://lgl.isnetne.ch/
Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux
Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux Distribué par Le Projet Documentation d'openoffice.org Table of Contents 1) Préambule...3 2) Télécharger
Utilitaires méconnus de StrataFrame
Utilitaires méconnus de StrataFrame Voici quelques classes d utilitaires, parmi ceux qui se trouvent dans le NameSpace MicroFour.StrataFrame.Tools. Cette liste n est pas exhaustive, et les regroupements
Déploiement OOo en environnement Windows Terminal Server
Déploiement OOo en environnement Windows Terminal Server Version 1.00 du 10.12.2004 Réalisé avec : OOo 1.1.3 Plate-forme / Os : Microsoft Windows Distribué par le projet fr.openoffice.org Sommaire 1 Introduction...3
BASES DE DONNEES TP POSTGRESQL
2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique IUP 2 ème année et Formation Continue BASES DE DONNEES TP POSTGRESQL Maude Manouvrier La reproduction de ce document par tout
I. MySQL : Serveur et SGBD
Le Système de Gestion de Base de Données MySQL I. MySQL : Serveur et SGBD Menu I. MySQL : Serveur et SGBG II. Création d'une base de données avec MySQL MySQL est un système de gestion et conception de
La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)
Le langage PHP (2) Walid Belkhir Université de Provence [email protected] http://www.lif.univ-mrs.fr/ belkhir/ 1 / 54 1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation
Bases de Données relationnelles et leurs systèmes de Gestion
III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation
Application web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Bernard HAMM, Évelyne LAVOISIER
92 MAÎTRISE DE PROGICIELS DE GESTION DE BASES DE DONNÉES ET DE TRAITEMENT DE TEXTE Compte rendu d'un stage à l'usage des professeurs de sciences sociales. Ce stage a été programmé A la demande et avec
Notes de cours : bases de données distribuées et repliquées
Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées
Création et Gestion des tables
Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5
eps Network Services Alarmes IHM
09/2005 Alarmes IHM eps Network Services Alarmes IHM Instructions de diagnostic Valable pour : Logiciel Version de logiciel eps Network Services 4.1 eps Network Services, Instructions de diagnostic (DA)
Le prototype de la fonction main()
Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme
SQL Serveur 2012+ Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise
SQL Serveur 2012+ Programme de formation France Belgique Suisse - Canada Microsoft Partner Formez vos salariés pour optimiser la productivité de votre entreprise Dernière mise à jour le : Avril 2014 Des
Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.
Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece
Playzilla - Chargement par clé usb
Juillet 2011 Version 001A SOMMAIRE I. UTILISATION SIMPLE... 3 Pré-requis... 4 Unité de stockage USB... 4 Configuration de playzilla... 4 1. MISE A JOUR DU CONTENU A PARTIR DE SCREEN COMPOSER... 6 1.1.
PDO : PHP Data Object 1/13
PDO : PHP Data Object 1/13 Tous ne sont que des extensions... Les fonstions mysql_* : API mysql Les fonctions mysqli_* aussi Il en est de même pour PDO PDO (avec le pilote PDO MySQL Driver et Extension
Programmation d application Bases de données avec Java
Plan du document Programmation d application Bases de données avec Java INT Problématique slide 3 Correspondance diagramme de classe slide 4 UML vers schéma relationnel Programmation BD avec JDBC slide
1 Position du problème
Licence Science et Technologies - INF245 Examen session 1 - mai 2012 Durée : 2 heures Documents non autorisés Le barème est donné à titre indicatif 1 Position du problème Le Club Universitaire de Vélo
LES ACCES ODBC AVEC LE SYSTEME SAS
LES ACCES ODBC AVEC LE SYSTEME SAS I. Présentation II. SAS/ACCESS to ODBC III. Driver ODBC SAS IV. Driver ODBC SAS Universel V. Version 8 VI. Références I. Présentation Introduction ODBC, qui signifie
A QUOI SERVENT LES BASES DE DONNÉES?
BASE DE DONNÉES OBJET Virginie Sans [email protected] A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès
Pratique et administration des systèmes
Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de
1. SAS FEDERATION SERVER - POINT D'ACCES UNIQUE ET SECURISE AUX DONNEES DE L'ENTREPRISE
1. SAS FEDERATION SERVER - POINT D'ACCES UNIQUE ET SECURISE AUX DONNEES DE L'ENTREPRISE Les DSI sont quotidiennement mises au défi de fournir aux utilisateurs des informations provenant de sources de données
PL langage de programmation côté serveur. SQL à la base : types, expressions, requêtes
Introduction à PL langage de programmation côté serveur installation nécessaire : CREATE LANGUAGE ou createlang interprété : erreurs de syntaxe possibles à l exécution SQL à la base : types, expressions,
PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214
PHP Bertrand Estellon Aix-Marseille Université 26 avril 2012 Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 SQLite et PDO Base de données SQLite et PDO SQLite écrit les données relatives à la base dans
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Présentation Serveur Apache et pour RePeGlio
Serveur APACHE 1 Présentation Serveur Apache et pour RePeGlio I. Présentation générale du serveur Apache... 2 1. Fonction du serveur Apache... 2 2. Fonction du programme RPG relativement au serveur Apache....
cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007
A t t a q u e s c o n t r e l e s a p p l i s w e b cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007 D e l ' u t i l i t é d e l ' a t t a
Bases de données relationnelles
Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses
TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012
TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE
Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions
Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]
Sécurité des applications web. Daniel Boteanu
I F8420: Éléments de Sécurité des applications web Daniel Boteanu Architecture des applications web Client légitime Internet HTTP 浀 HTML Server Web 2 Architecture des applications web Client légitime Internet
