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