Rexx - Database

Rexx ha la capacità di lavorare con una varietà di database elencati di seguito.

  • HSQLDB
  • Oracle
  • server SQL
  • MySQL
  • MongoDB

Tutte le informazioni per i database Rexx possono essere trovate dopo aver fatto clic sul seguente collegamento - https://rexxsql.sourceforge.net/

Nel nostro esempio, useremo MySQL DB come esempio. Quindi il primo passo è assicurarsi di scaricare i driver richiesti dal sito Rexx SQL in modo che i programmi Rexx possano funzionare con SQL di conseguenza. Quindi segui i passaggi successivi per assicurarti che i programmi Rexx possano funzionare con i database MySQL.

Step 1 - Vai alla seguente pagina di download dei driver dal sito Rexx - https://sourceforge.net/projects/rexxsql/files/rexxsql/2.6/

Step 2 - Scarica i driver MYSQL - rxsql26B3_my_w32_ooRexx

Step 3 - Decomprimere il contenuto sulla macchina locale.

Step 4 - Aggiungi il percorso della cartella decompressa alla variabile del percorso sulla tua macchina.

Per tutti gli esempi successivi, assicurati che siano presenti i seguenti puntatori:

  • Hai creato un database TESTDB.

  • Hai creato una tabella EMPLOYEE in TESTDB.

  • Questa tabella ha i campi FIRST_NAME, LAST_NAME, AGE, SEX e INCOME.

  • L'ID utente "testuser" e la password "test123" sono impostati per accedere a TESTDB.

  • Assicurati di aver scaricato il file jar mysql e di aver aggiunto il file al tuo classpath.

  • Hai seguito il tutorial di MySQL

Connessione al database

Per stabilire una connessione al database, è prima necessario utilizzare la DLL Rexxsql e quindi utilizzare la funzione SQLConnect per stabilire una connessione al database. La sintassi e l'esempio di come questo può essere ottenuto sono forniti di seguito.

Sintassi

SQLConnect(cname,username,password,dbname)

Parametri

  • cname - Questo è il nome da dare alla connessione.

  • username - Il nome utente per connettersi al database.

  • password - La password per connettersi al database.

  • dbname - Lo schema del database a cui connettersi.

Valore di ritorno

Un valore uguale a 0 significa che la connessione al database ha esito positivo.

Esempio

/* Main program */ 
Call RxFuncAdd 'SQLLoadFuncs', 'rexxsql', 'SQLLoadFuncs' 
Call SQLLoadFuncs 
say SQLConnect(c1,' testuser ',' test123','testdb')

L'output del programma sopra sarebbe come mostrato di seguito.

0

Creazione di una tabella di database

Il passaggio successivo dopo la connessione al database è creare le tabelle nel nostro database. L'esempio seguente mostra come creare una tabella nel database utilizzando Rexx. Tutti i comandi in Rexx SQL vengono eseguiti utilizzando la funzione SQLCommand.

Sintassi

SQLConnect(sname,statement)

Parametri

  • sname - Questo è il nome da dare all'istruzione da eseguire.

  • statement - Questa è l'istruzione che deve essere eseguita sul database.

Valore di ritorno

Un valore uguale a 0 significa che il comando ha avuto successo.

Esempio

/* 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'

L'output del programma sopra sarebbe come mostrato di seguito.

Connect Succedded 
Changed database to testdb 
Employee table created

Operazioni su una tabella di database

I seguenti tipi di operazioni vengono più comunemente eseguiti su una tabella di database.

Sr.No. Funzionamento e descrizione
1 Inserisci operazione

È necessario quando si desidera creare i record in una tabella di database.

2 Leggi operazione

Un'operazione READ su qualsiasi database significa recuperare alcune informazioni utili dal database.

3 Operazione di aggiornamento

L'operazione UPDATE su qualsiasi database significa aggiornare uno o più record, che sono già disponibili nel database.

4 Elimina operazione

L'operazione DELETE è necessaria quando si desidera eliminare alcuni record dal database.

5 Chiusura di una connessione

Il seguente comando può essere utilizzato per chiudere una connessione al database.

Transazione in corso

Le transazioni sono un meccanismo che garantisce la coerenza dei dati. Le transazioni hanno le seguenti quattro proprietà:

  • Atomicity - O una transazione viene completata o non accade nulla.

  • Consistency - Una transazione deve iniziare in uno stato coerente e lasciare il sistema in uno stato coerente.

  • Isolation - I risultati intermedi di una transazione non sono visibili al di fuori della transazione corrente.

  • Durability - Una volta che una transazione è stata confermata, gli effetti sono persistenti, anche dopo un errore di sistema.

Ecco un semplice esempio di come implementare le transazioni.

Esempio

/* 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

L'output del programma sopra sarebbe come mostrato di seguito.

Connect Succedded 
Changed database to testdb 
COMMITTED

Commit Operation

L'operazione di commit è ciò che dice al database di procedere con l'operazione e finalizzare tutte le modifiche al database. Nel nostro esempio sopra, ciò si ottiene con il seguente comando.

Sqlcommit()

Operazione di rollback

Se non sei soddisfatto di una o più modifiche e desideri ripristinarle completamente, utilizza il metodo di rollback. Nel nostro esempio sopra, ciò si ottiene con il seguente comando.

SqlRollback()