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