Rexx - Datenbanken
Rexx kann mit einer Vielzahl von Datenbanken arbeiten, die unten aufgeführt sind.
- HSQLDB
- Oracle
- SQL Server
- MySQL
- MongoDB
Alle Informationen für Rexx-Datenbanken finden Sie, sobald Sie auf den folgenden Link klicken: https://rexxsql.sourceforge.net/
In unserem Beispiel verwenden wir MySQL DB als Beispiel. Der erste Schritt besteht also darin, sicherzustellen, dass die erforderlichen Treiber von der Rexx SQL-Site heruntergeladen werden, damit Rexx-Programme entsprechend mit SQL arbeiten können. Befolgen Sie daher die folgenden Schritte, um sicherzustellen, dass Rexx-Programme mit MySQL-Datenbanken arbeiten können.
Step 1 - Gehen Sie zur folgenden Treiber-Download-Seite von der Rexx-Website - https://sourceforge.net/projects/rexxsql/files/rexxsql/2.6/
Step 2 - Laden Sie die MYSQL-Treiber herunter - rxsql26B3_my_w32_ooRexx
Step 3 - Entpacken Sie den Inhalt auf den lokalen Computer.
Step 4 - Fügen Sie den Pfad des entpackten Ordners zur Pfadvariablen auf Ihrem Computer hinzu.
Stellen Sie für alle nachfolgenden Beispiele sicher, dass die folgenden Zeiger vorhanden sind:
Sie haben eine Datenbank TESTDB erstellt.
Sie haben in TESTDB eine Tabelle EMPLOYEE erstellt.
Diese Tabelle enthält die Felder FIRST_NAME, LAST_NAME, AGE, SEX und INCOME.
Die Benutzer-ID "testuser" und das Kennwort "test123" sind für den Zugriff auf TESTDB festgelegt.
Stellen Sie sicher, dass Sie die MySQL-JAR-Datei heruntergeladen und Ihrem Klassenpfad hinzugefügt haben.
Sie haben das MySQL-Tutorial durchlaufen
Datenbankverbindung
Um eine Datenbankverbindung herzustellen, müssen Sie zuerst die Rexxsql-DLL aufrufen und dann mit der SQLConnect-Funktion eine Verbindung zur Datenbank herstellen. Die Syntax und das Beispiel, wie dies erreicht werden kann, sind unten angegeben.
Syntax
SQLConnect(cname,username,password,dbname)
Parameter
cname - Dies ist der Name, der der Verbindung gegeben werden soll.
username - Der Benutzername für die Verbindung zur Datenbank.
password - Das Passwort für die Verbindung zur Datenbank.
dbname - Das Datenbankschema, zu dem eine Verbindung hergestellt werden soll.
Rückgabewert
Ein Wert gleich 0 bedeutet, dass die Datenbankverbindung erfolgreich ist.
Beispiel
/* Main program */
Call RxFuncAdd 'SQLLoadFuncs', 'rexxsql', 'SQLLoadFuncs'
Call SQLLoadFuncs
say SQLConnect(c1,' testuser ',' test123','testdb')
Die Ausgabe des obigen Programms wäre wie unten gezeigt.
0
Erstellen einer Datenbanktabelle
Der nächste Schritt nach dem Herstellen einer Verbindung zur Datenbank besteht darin, die Tabellen in unserer Datenbank zu erstellen. Das folgende Beispiel zeigt, wie Sie mit Rexx eine Tabelle in der Datenbank erstellen. Alle Befehle in Rexx SQL werden mithilfe der SQLCommand-Funktion ausgeführt.
Syntax
SQLConnect(sname,statement)
Parameter
sname - Dies ist der Name, der der auszuführenden Anweisung gegeben werden soll.
statement - Dies ist die Anweisung, die für die Datenbank ausgeführt werden muss.
Rückgabewert
Ein Wert gleich 0 bedeutet, dass der Befehl erfolgreich war.
Beispiel
/* 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'
Die Ausgabe des obigen Programms wäre wie unten gezeigt.
Connect Succedded
Changed database to testdb
Employee table created
Operationen an einer Datenbanktabelle
Die folgenden Arten von Operationen werden am häufigsten für eine Datenbanktabelle ausgeführt.
Sr.Nr. | Operationsbeschreibung |
---|---|
1 | Operation einfügen Dies ist erforderlich, wenn Sie Ihre Datensätze in einer Datenbanktabelle erstellen möchten. |
2 | Betrieb lesen Eine READ-Operation für eine beliebige Datenbank bedeutet, einige nützliche Informationen aus der Datenbank abzurufen. |
3 | Vorgang aktualisieren Die UPDATE-Operation für eine beliebige Datenbank bedeutet, einen oder mehrere Datensätze zu aktualisieren, die bereits in der Datenbank verfügbar sind. |
4 | Vorgang löschen Die Operation DELETE ist erforderlich, wenn Sie einige Datensätze aus Ihrer Datenbank löschen möchten. |
5 | Schließen einer Verbindung Mit dem folgenden Befehl können Sie eine Verbindung zur Datenbank schließen. |
Transaktion durchführen
Transaktionen sind ein Mechanismus, der die Datenkonsistenz gewährleistet. Transaktionen haben die folgenden vier Eigenschaften:
Atomicity - Entweder wird eine Transaktion abgeschlossen oder es passiert überhaupt nichts.
Consistency - Eine Transaktion muss in einem konsistenten Zustand beginnen und das System in einem konsistenten Zustand belassen.
Isolation - Zwischenergebnisse einer Transaktion sind außerhalb der aktuellen Transaktion nicht sichtbar.
Durability - Sobald eine Transaktion festgeschrieben wurde, bleiben die Auswirkungen auch nach einem Systemausfall bestehen.
Hier ist ein einfaches Beispiel für die Implementierung von Transaktionen.
Beispiel
/* 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
Die Ausgabe des obigen Programms wäre wie unten gezeigt.
Connect Succedded
Changed database to testdb
COMMITTED
Operation festschreiben
Die Festschreibungsoperation weist die Datenbank an, mit der Operation fortzufahren und alle Änderungen an der Datenbank abzuschließen. In unserem obigen Beispiel wird dies durch den folgenden Befehl erreicht.
Sqlcommit()
Rollback-Betrieb
Wenn Sie mit einer oder mehreren Änderungen nicht zufrieden sind und diese Änderungen vollständig zurücksetzen möchten, verwenden Sie die Rollback-Methode. In unserem obigen Beispiel wird dies durch den folgenden Befehl erreicht.
SqlRollback()