Last modified by Isabelle FERRIERE on 2017/09/05 17:07

Hide last authors
Isabelle FERRIERE 1.1 1 * (((
2 = (% style="font-size: 24.0px;" %)**__SCRIPTS SQL__**(%%) =
3 )))
4
5
6
7
8 Le gestionnaire de travaux doit être démarré.
9
10 Au niveau de la génération du MLD, cochez "Script SQL".
11 Précisez le chemin et le nom d'un fichier texte.
12 Cliquez sur le bouton "Générer".
13
14 Attention : le script SQL ainsi généré ne permet que de créer les tables (CREATE_TABLE).
15 Si vous souhaitez modifier la structure des tables ou supprimer des tables (par exemple), il faut modifier à la main ce script pour ne pas faire de CREATE_TABLE, mais des ALTER_TABLE ou des DROP_TABLE (ou autres ordres SQL selon l’action souhaitée).
16
17 (((
18 == **__Exécuter un script SQL__** ==
19 )))
20
21 Vous pouvez l'exécuter depuis le gestionnaire de requête du SGBD.
22
23
24
25 ----
26 * (((
27 = **__SCRIPTS GÉNÉRIQUES__** =
28 )))
29
30
31
32
33 Le gestionnaire de travaux doit être démarré.
34
35 Au niveau de la génération du MLD, cochez "Script générique".
36 Précisez le chemin et le nom d'un fichier texte, avec comme extension .gen.
37 Cliquez sur le bouton "Générer".
38
39
40 (((
41 ===== Exemples de scripts générés: =====
42 )))
43
44
45 * //Script obtenu, sans conservation des données ://
46
47 PG;0,0,1,0,
48 CE;'ADELIA','ZENTITE',ZENTITE,ZENTITEL,ZENTITEF,1, ,'ZENTITE';'ID',ID,6,10,0,1,E,0,1,'','','','ID',0,0;'LIBL',LIBL,30,35,0,0, ,0,1,'','','','LIBL',0,0
49
50
51 * //Script obtenu, avec conservation des données ://
52
53 PG;1,0,1,0,
54 CE;'ADELIA','ZENTITE',ZENTITE,ZENTITEL,ZENTITEF,1, ,'ZENTITE';'ID',ID,6,10,0,1,E,0,1,'','','','ID',0,0;'LIBL',LIBL,30,45,0,0, ,0,1,'','','','LIBL',0,0;'TMSTMP',TMSTMP,13,12,0,0, ,0,1,'','','','Timestamp',0,0
55
56 (((
57 == **__Gestion des versions__** ==
58 )))
59
60 Facultatif
61 Vous pouvez gérer une gestion des versions de votre base de données, si vous le souhaitez.
62
63 Créez une table permettant de mémoriser le n° de version des tables :
64
65 [[image:Table n° version.jpg]]
66
67 Prévoyez une gestion des données pour incrémenter le n° de version.
68
69 (((
70 == **__Gestion des données__** ==
71 )))
72
73 Facultatif
74 Vous pouvez exécuter des requêtes après la création / mise-à-jour des tables.
75 Ces requêtes seront placées dans un fichier .dat.
76
77 Créez un fichier texte .dat : CLIENTS.dat, par exemple.
78 Saisissez les requêtes SQL.
79 Par exemples :
80
81 INSERT INTO ADELIA.ZENTITE VALUES(1,'LIBL 1')
82 INSERT INTO ADELIA.ZENTITE VALUES(2,'LIBL 2')
83 INSERT INTO ADELIA.ZENTITE VALUES(3,'LIBL 3')
84
85 UPDATE BDCLI.VERSION SET NO_VER~=NO_VER+1
86
87 (((
88 == **__.dbd spécifique__** ==
89 )))
90
91 Créez un fichier texte .dbd : CLIENTS.dbd, par exemple.
92 Créez les différentes sections en suivant la description faite dans l’aide en ligne, sous l’onglet Sommaire : « L’outil de gestion de bases de données >> Description de la base de données ».
93
94
95 {{code title="Exemple - Création de tables, avec insertion de données" language="none"}}
96 [DB2]
97 GrantedErrors=100,204,805,803,612
98
99 [PDM/Generic]
100 *ALL = script.gen
101
102 [Data/Generic]
103 *ALL = sql_insert.dat
104 {{/code}}
105
106
107
108 {{code title="Exemple - Mise-à-jour de tables, sans gestion de versions" language="none"}}
109 [DB2]
110 GrantedErrors=100,204,805,803,612
111
112 [PDM/Generic]
113 *ALL = script.gen
114 {{/code}}
115
116
117
118 {{code title="Exemple - Mise-à-jour de tables, avec gestion de versions" language="none"}}
119 [Database]
120 Version=3
121 checkversion=SELECT NO_VER FROM BDCLI.VERSION
122
123 [DB2]
124 GrantedErrors=100,204,805,803,612
125
126 [PDM/Generic]
127 *ALL = script.gen
128 2 = 3, script_updt_v3.gen
129
130 [Data/Generic]
131 *ALL = sql_insert.dat
132 2 = sql_updt_v3.dat
133 {{/code}}
134
135
136 *ALL permet de créer les tables si elles n’existent pas.
137 Dans [Database], précisez la nouvelle version.
138 Dans [PDM] et [Data], précisez la version actuelle pour la mise-à-jour des tables.
139
140 (((
141 == (% style="font-size: 20.0px;" %)**__Exécution du script générique__**(%%) ==
142 )))
143
144 L'exécution des scripts génériques se fait dans l'outil de gestion des bases de données (dbtool).
145
146 Allez dans Adélia >> Utilitaires >> Outils de gestion des bases de données.
147
148 Les exemples sont données avec DB2 comme DGBD.
149 Mais, le principe est le même avec les autres SGBD.
150
151
152 (% style="font-size: 16.0px;" %)**__Créer une table__**(%%)
153
154 Sélectionnez le .dbd.
155 Cochez « Créer les tables ou les fichiers ».
156
157 [[image:dbtool - creer tables ou fichiers.png]]
158
159 Cliquez sur « Suivant ».
160 Précisez la base de données sur laquelle doit s’exécuter le script.
161
162 [[image:dbtool - choix database.png]]
163
164 Cliquez sur « Suivant ».
165 Eventuellement, demandez la journalisation des actions.
166 Cliquez sur « Suivant ».
167 Cliquez sur « Exécuter ».
168
169 ~=> La table est créé avec les données insérées dedans.
170
171 [[image:db2 - tables v1.png||height="400"]][[image:db2 - tables v1 - data.png||height="250"]]
172
173 (((
174 === **__Mettre à jour une table, sans gestion de versions__** ===
175 )))
176
177 Sélectionnez le .dbd.
178 Cocher « Créer les tables ou les fichiers », car ce .dbd ne comprend pas de script BD particulier (pas de section [Data/Generic]).
179
180 [[image:dbtool - creer tables ou fichiers - v2.png]]
181
182 Cliquez sur « Suivant ».
183 Précisez la base de données sur laquelle doit s’exécuter le script.
184 Cliquez sur « Suivant ».
185 Eventuellement, demandez la journalisation des actions.
186 Cliquez sur « Suivant ».
187 Cliquez sur « Exécuter ».
188
189 ~=> La table est mise-à-jour.
190
191 [[image:db2 - tables v2.png||height="400"]][[image:db2 - tables v2 - data.png||height="250"]]
192 (((
193 === **__Mettre à jour une table, avec gestion de versions__** ===
194 )))
195
196 Sélectionnez le .dbd.
197 Cochez « Mettre à jour une base de données », car ce .dbd comprend un script BD particulier, permettant, entre autre, la gestion du n° de version (présence d'une section [Data/Generic]).
198
199 [[image:dbtool - mettre à jour une bd - v3.png]]
200
201 Cliquez sur « Suivant ».
202 Précisez la base de données sur laquelle doit s’exécuter le script.
203 Cliquez sur « Suivant ».
204 Eventuellement, demandez la journalisation des actions.
205 Cliquez sur « Suivant ».
206 Cliquez sur « Exécuter ».
207
208 ~=> La table est mise-à-jour, ainsi que le n° de version dans la table VERSION.
209
210 [[image:db2 - version.png||height="150"]](((
211 == **__Exécution du script générique en mode batch__** ==
212 )))
213
214 Vous pouvez exécuter le script générique en lançant dbtool en mode batch, dans un .bat, par exemple.
215
216
217 {{code title="Exemple de .bat pour une base 400" language="none"}}
218 dbtool -descfile:"D:\Adelia\scripts génériques\CLIENTS_1.dbd" -logfile:"D:\log\ScriptsGen.txt" -create_tables -dbm:"AS400" -database:"MABIB" -host:"MON400"
219 -miduser:"user" -midpassword:"pwd" -no_input
220 {{/code}}
221
222
223 Pour plus de précisions, voyez la fiche de l'aide en ligne : « Outil de gestion de bases de données - Mode batch ».
224
225
226