Les fichiers scripts ont pour nom : « script12.1.sql » ou 12 détermine la version de la base de données (il peut y avoir plusieurs fichiers script pour une version (script12.1 et script12.2 …)).
La version de la base est enregistré dans le champ INFOSBASE.version.
Lors de la mise à jour automatique de la base les scripts ayant un numéro de version supérieur à la version de la base sont exécutés.
Paramètres optionnelles de ligne de commandes :
auto --> les mises à jour sont lancées automatiquement à l'ouverture du programme.
Syntaxe : MAJBase.exe auto
silent : pas de message de confirmation de l'execution d'un script
dbconnect=localhost:c:\data.gdb
basename=c:\data.gdb (-> si paramètre "serverName" de OrcadiaCSv2.ini ajouté pour la connexion)
pass=
user=
scriptdir=
autres paramètres --> tout autre paramètres que "auto" correspond au nom du fichier script à exécuter.
Seul ce fichier sera exécuter et le programme sera arrêté.
Ex Syntaxe : MAJBase.exe generator.sql2
MAJBase.exe script.sql
Modifier le répertoire de la base à MAJ :
Cliquer sur "menu fichier/.." ou CTRL+F3
Définir la version à partir de laquelle la mise à jour
doit être faite :
Cliquer sur "menu version / ..." ou CTRL+F2
Le chemin d’accès à la base par défaut est celui défini dans le fichier « OrcadiaCSv2.ini »
Si le fichier MAJBase.ini existe dans le répertoire du programme.
DBConnect=MAJBase.ini.[base].dbconnect
UserName=MAJBase.ini.[base].user
Password=MAJBase.ini.[base].pass
Le chemin des scripts par défaut est « c:\OrcadiaCSv2\database\scripts »
Si le fichier MAJBase.ini existe dans le répertoire du programme.
ScriptDir=MAJBase.ini.[script].scriptdir
insert into TYPEVALEUR values (9,'MessageType');
insert into INFOSBASE (version,DATEMAJ) values (12,current_timestamp);
Règle générale : Si il y a une erreur dans l’exécution d’un script, les scripts suivant ne sont pas exécutés.
Marque /* continue_if_error */
Si un erreur survient dans le script qui suit cette marque, les scripts suivant sont exécutés.
/* continue_if_error */
insert into TYPEVALEUR values (9,'MessageType');
/* continue_if_error */
insert into INFOSBASE (version,DATEMAJ) values (12,current_timestamp);
Marque
/* STOP_IF_ERROR */
Si un erreur survient dans le script qui suit cette marque, les scripts sont arrêtés mais il n'y a pas d'exception.
2019 (22 mai 2008)
Les paramètres "DBConnect" "User", "Pass", "ScriptDir", "basename" peuvent être passés en ligne de commande.
(voir aide ci au dessus)
Exemple :
MAJBAse.exe Courrier1.sql
basename=localhost:C:\OrcadiaCSv2\database\courriers.gdb
2018 (02.01.2008)
Possibilité de paramétrer les paramètres d'accès à la base et le répertoire des scripts
Si le fichier MAJBase.ini existe dans le répertoire du programme.
DBConnect=MAJBase.ini.[base].dbconnect
UserName=MAJBase.ini.[base].user
Password=MAJBase.ini.[base].pass
ScriptDir=MAJBase.ini.[script].scriptdir
2.016 (26.06.2007)
Message "serveur distant ... confirmer" n'est pas afficher si BaseServer = localhost ou 127.0.0.1
2.015 (27.11.2006)
Ajout marque STOP_IF_ERROR à mettre en commentaire avant un script. /* STOP_IF_ERROR */
Si un erreur survient dans le sript qui suit cette marque, les scripts sont arrétés mais il n'y a pas d'exception.
2.014 (09/08/08)
manquait "silent" sur MessageConfirmRadioGroup
2.013 (07/06/06)
Ajout du paramètre (silent) pramstr(2).
Si présent les messages showflashmessage ne sont pas affiché
2.012
rename v2
2.011
variable OldVersion supprimée
2.000
-Ajout marque CONTINUE_IF_ERROR : si cette marque est présente le script suivant n'arrête pas
le déroulement de la MAJ si il se passe mal.
Mettre de préférence /* CONTINUE_IF_ERROR */
Exemple :
/*
CONTINUE_IF_ERROR */
CREATE PROCEDURE R_BILAN_ENCAISSEMENTS AS
BEGIN EXIT; END ^
-En mode debug on affiche la première de chaque script dans le log
1.203
Si isServerIB5 (INFOSBASE.isServerIB5 = 1) alors "TimeStamp" est remplacé par "date" dans les scripts
1.202 //Inutile et à virer plus tard (Voir version 1.203)
: {Version du serveur Interbase
=================================
cIB5 = 'VERSIONIB5';
cIB6 = 'VERSIONIB6';
{Si VERSIONIB5 apparait en commentaire dans la ligne la ligne n'est ajouté au script que si le serveur Interbase est un IB5
Si VERSIONIB6 apparait en commentaire dans la ligne la ligne n'est ajouté au script que si le serveur Interbase n'est pas un IB5}
{
1.205 :
Init IBSecurity pass + user avec OrcadiaCSv2Ini.dbaPass et dbaUser
1.200 :
Version compatible IB5
Menu "Executer un script"
1.135 :
si script non dans E: aller les prendre dans C:
Controle de la version de la base par rapport à la version des scripts avant execution.
1.134
: ShowFlashMessage au lieu de Showmessage
1.133 :
- Message de confirmation sur serveur distant modifié
1.132 :
- Modif message confirmation MAJ base serveur en réseau
1.131 :
- Possibilité MAJ base serveur en réseau
1.125 :
- Implementation Script..sql2
1.126 :
- Si exception arrêt immédiat
- Correction "choix base"
1.127 (20/06/2003):
- Copie de la base sous "/DataBase/save/VersionBase.data.gdb" avant MAJ (dans FormCreate)
ex : "/DataBase/save/V65.data.gdb"
1.128
- Lance fichier ".sql2" passé en paramètres de ligne de commande
(ex : MAJBase.exe generator.sql2)
1.129
- Ne convertit pas les scripts en Uppercase
1.130
- les fichiers de sauvegarde et de Copytemporaire sont copier dans des sous répertoire
de la base
Utilisation du programme MAJBase.exe
------------------------------------
*Le programme de mise à jour de la base, execute tous les fichiers qui se trouvent
dans le répertoire script et dont la version est supérieure à la version courante de la base.