Rexx - Bases de données
Rexx a la capacité de travailler avec une variété de bases de données répertoriées ci-dessous.
- HSQLDB
- Oracle
- serveur SQL
- MySQL
- MongoDB
Toutes les informations pour les bases de données Rexx peuvent être trouvées en cliquant sur le lien suivant - https://rexxsql.sourceforge.net/
Dans notre exemple, nous allons utiliser MySQL DB comme exemple. La première étape est donc de s'assurer de télécharger les pilotes requis à partir du site Rexx SQL afin que les programmes Rexx puissent fonctionner avec SQL en conséquence. Suivez donc les étapes suivantes pour vous assurer que les programmes Rexx peuvent fonctionner avec les bases de données MySQL.
Step 1 - Accédez à la page de téléchargement des pilotes suivante depuis le site Rexx - https://sourceforge.net/projects/rexxsql/files/rexxsql/2.6/
Step 2 - Téléchargez les pilotes MYSQL - rxsql26B3_my_w32_ooRexx
Step 3 - Décompressez le contenu sur la machine locale.
Step 4 - Ajoutez le chemin du dossier décompressé à la variable de chemin sur votre machine.
Pour tous les exemples suivants, assurez-vous que les pointeurs suivants sont en place -
Vous avez créé une base de données TESTDB.
Vous avez créé une table EMPLOYEE dans TESTDB.
Cette table contient les champs FIRST_NAME, LAST_NAME, AGE, SEX et INCOME.
L'ID utilisateur "testuser" et le mot de passe "test123" sont définis pour accéder à TESTDB.
Assurez-vous d'avoir téléchargé le fichier jar mysql et ajouté le fichier à votre chemin de classe.
Vous avez suivi le didacticiel MySQL
Connexion à la base de données
Pour établir une connexion à la base de données, vous devez d'abord utiliser la DLL Rexxsql, puis utiliser la fonction SQLConnect pour établir une connexion à la base de données. La syntaxe et un exemple de la manière dont cela peut être réalisé sont donnés ci-dessous.
Syntaxe
SQLConnect(cname,username,password,dbname)
Paramètres
cname - C'est le nom à donner à la connexion.
username - Le nom d'utilisateur pour se connecter à la base de données.
password - Le mot de passe pour se connecter à la base de données.
dbname - Le schéma de base de données auquel se connecter.
Valeur de retour
Une valeur égale à 0 signifie que la connexion à la base de données est réussie.
Exemple
/* Main program */
Call RxFuncAdd 'SQLLoadFuncs', 'rexxsql', 'SQLLoadFuncs'
Call SQLLoadFuncs
say SQLConnect(c1,' testuser ',' test123','testdb')
La sortie du programme ci-dessus serait comme indiqué ci-dessous.
0
Créer une table de base de données
La prochaine étape après la connexion à la base de données est de créer les tables dans notre base de données. L'exemple suivant montre comment créer une table dans la base de données à l'aide de Rexx. Toutes les commandes de Rexx SQL sont exécutées à l'aide de la fonction SQLCommand.
Syntaxe
SQLConnect(sname,statement)
Paramètres
sname - C'est le nom à donner à l'instruction à exécuter.
statement - Ceci est l'instruction qui doit être exécutée sur la base de données.
Valeur de retour
Une valeur égale à 0 signifie que la commande a réussi.
Exemple
/* Main program */
Call RxFuncAdd 'SQLLoadFuncs', 'rexxsql', 'SQLLoadFuncs'
Call SQLLoadFuncs
if SQLConnect(c1,'testuser','test123','testdb') == 0 then say 'Connect Succedded'
if SQLCommand(u1,"use testdb") == 0 then say 'Changed database to testdb'
sqlstr = 'create table employee (first_name char(20) not null, last_name
char(20),age int, sex
char(1), income float)'
if SQLCommand(c2,sqlstr) == 0 then say 'Employee table created'
La sortie du programme ci-dessus serait comme indiqué ci-dessous.
Connect Succedded
Changed database to testdb
Employee table created
Opérations sur une table de base de données
Les types d'opérations suivants sont le plus souvent exécutés sur une table de base de données.
N ° Sr. | Description d'opération |
---|---|
1 | Insérer une opération Il est nécessaire lorsque vous souhaitez créer vos enregistrements dans une table de base de données. |
2 | Lire l'opération Une opération de lecture sur n'importe quelle base de données signifie récupérer des informations utiles dans la base de données. |
3 | Opération de mise à jour L'opération UPDATE sur n'importe quelle base de données signifie mettre à jour un ou plusieurs enregistrements, qui sont déjà disponibles dans la base de données. |
4 | Supprimer l'opération L'opération DELETE est requise lorsque vous souhaitez supprimer certains enregistrements de votre base de données. |
5 | Fermer une connexion La commande suivante peut être utilisée pour fermer une connexion à la base de données. |
Effectuer une transaction
Les transactions sont un mécanisme qui garantit la cohérence des données. Les transactions ont les quatre propriétés suivantes -
Atomicity - Soit une transaction se termine, soit rien ne se passe du tout.
Consistency - Une transaction doit démarrer dans un état cohérent et laisser le système dans un état cohérent.
Isolation - Les résultats intermédiaires d'une transaction ne sont pas visibles en dehors de la transaction en cours.
Durability - Une fois qu'une transaction a été validée, les effets sont persistants, même après une panne du système.
Voici un exemple simple de mise en œuvre de transactions.
Exemple
/* Main program */
Call RxFuncAdd 'SQLLoadFuncs', 'rexxsql', 'SQLLoadFuncs'
Call SQLLoadFuncs
if SQLConnect(c1,'testuser','test123','testdb') == 0 then say 'Connect Succedded'
if SQLCommand(u1,"use testdb") == 0 then say 'Changed database to testdb'
sqlstr = "DELETE FROM EMPLOYEE WHERE AGE > 20"
if SQLCommand(c2,sqlstr) == 0 then
if sqlcommit() == 0 then say committed
La sortie du programme ci-dessus serait comme indiqué ci-dessous.
Connect Succedded
Changed database to testdb
COMMITTED
Opération de validation
L'opération de validation est ce qui indique à la base de données de poursuivre l'opération et de finaliser toutes les modifications apportées à la base de données. Dans notre exemple ci-dessus, ceci est réalisé par la commande suivante.
Sqlcommit()
Opération de restauration
Si vous n'êtes pas satisfait d'une ou plusieurs des modifications et que vous souhaitez annuler complètement ces modifications, utilisez la méthode de restauration. Dans notre exemple ci-dessus, ceci est réalisé par la commande suivante.
SqlRollback()