Rexx - Bases de datos

Rexx tiene la capacidad de trabajar con una variedad de bases de datos que se enumeran a continuación.

  • HSQLDB
  • Oracle
  • servidor SQL
  • MySQL
  • MongoDB

Toda la información de las bases de datos de Rexx se puede encontrar una vez que haga clic en el siguiente enlace: https://rexxsql.sourceforge.net/

En nuestro ejemplo, usaremos MySQL DB como muestra. Por tanto, el primer paso es asegurarse de descargar los controladores necesarios del sitio SQL de Rexx para que los programas de Rexx puedan funcionar con SQL en consecuencia. Por lo tanto, siga los pasos siguientes para asegurarse de que los programas Rexx puedan funcionar con bases de datos MySQL.

Step 1 - Vaya a la siguiente página de descarga de controladores desde el sitio de Rexx - https://sourceforge.net/projects/rexxsql/files/rexxsql/2.6/

Step 2 - Descargue los controladores MYSQL - rxsql26B3_my_w32_ooRexx

Step 3 - Descomprime el contenido en la máquina local.

Step 4 - Agregue la ruta de la carpeta descomprimida a la variable de ruta en su máquina.

Para todos los ejemplos siguientes, asegúrese de que los siguientes indicadores estén en su lugar:

  • Ha creado una base de datos TESTDB.

  • Ha creado una tabla EMPLOYEE en TESTDB.

  • Esta tabla tiene campos FIRST_NAME, APELLIDO, EDAD, SEXO e INGRESOS.

  • El ID de usuario "testuser" y la contraseña "test123" están configurados para acceder a TESTDB.

  • Asegúrese de haber descargado el archivo jar mysql y agregado el archivo a su classpath.

  • Has pasado por el tutorial de MySQL

Conexión de base de datos

Para establecer una conexión a la base de datos, primero necesita la DLL de Rexxsql y luego usar la función SQLConnect para establecer una conexión a la base de datos. La sintaxis y el ejemplo de cómo se puede lograr esto se dan a continuación.

Sintaxis

SQLConnect(cname,username,password,dbname)

Parámetros

  • cname - Este es el nombre que se le da a la conexión.

  • username - El nombre de usuario para conectarse a la base de datos.

  • password - La contraseña para conectarse a la base de datos.

  • dbname - El esquema de la base de datos al que conectarse.

Valor devuelto

Un valor igual a 0 significará que la conexión a la base de datos es exitosa.

Ejemplo

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

La salida del programa anterior sería como se muestra a continuación.

0

Crear una tabla de base de datos

El siguiente paso después de conectarse a la base de datos es crear las tablas en nuestra base de datos. El siguiente ejemplo muestra cómo crear una tabla en la base de datos usando Rexx. Todos los comandos en Rexx SQL se ejecutan mediante la función SQLCommand.

Sintaxis

SQLConnect(sname,statement)

Parámetros

  • sname - Este es el nombre que se le da a la sentencia a ejecutar.

  • statement - Esta es la declaración que debe ejecutarse en la base de datos.

Valor devuelto

Un valor igual a 0 significará que el comando fue exitoso.

Ejemplo

/* 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 salida del programa anterior sería como se muestra a continuación.

Connect Succedded 
Changed database to testdb 
Employee table created

Operaciones en una tabla de base de datos

Los siguientes tipos de operaciones se realizan con mayor frecuencia en una tabla de base de datos.

No Señor. Descripción de la operación
1 Insertar operación

Es necesario cuando desea crear sus registros en una tabla de base de datos.

2 Leer operación

Una operación READ en cualquier base de datos significa obtener información útil de la base de datos.

3 Operación de actualización

La Operación ACTUALIZAR en cualquier base de datos significa actualizar uno o más registros, que ya están disponibles en la base de datos.

4 Eliminar operación

La operación DELETE es necesaria cuando desea eliminar algunos registros de su base de datos.

5 Cerrar una conexión

El siguiente comando se puede utilizar para cerrar una conexión a la base de datos.

Realizar transacción

Las transacciones son un mecanismo que garantiza la coherencia de los datos. Las transacciones tienen las siguientes cuatro propiedades:

  • Atomicity - O se completa una transacción o no ocurre nada.

  • Consistency - Una transacción debe comenzar en un estado consistente y dejar el sistema en un estado consistente.

  • Isolation - Los resultados intermedios de una transacción no son visibles fuera de la transacción actual.

  • Durability - Una vez que se ha comprometido una transacción, los efectos son persistentes, incluso después de una falla del sistema.

A continuación, se muestra un ejemplo sencillo de cómo implementar transacciones.

Ejemplo

/* 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 salida del programa anterior sería como se muestra a continuación.

Connect Succedded 
Changed database to testdb 
COMMITTED

Confirmar operación

La operación de confirmación es lo que le dice a la base de datos que proceda con la operación y finalice todos los cambios en la base de datos. En nuestro ejemplo anterior, esto se logra con el siguiente comando.

Sqlcommit()

Operación de reversión

Si no está satisfecho con uno o más de los cambios y desea revertirlos por completo, utilice el método de reversión. En nuestro ejemplo anterior, esto se logra con el siguiente comando.

SqlRollback()