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()