Rexx - Bancos de dados

Rexx tem a capacidade de trabalhar com uma variedade de bancos de dados listados abaixo.

  • HSQLDB
  • Oracle
  • servidor SQL
  • MySQL
  • MongoDB

Todas as informações dos bancos de dados Rexx podem ser encontradas clicando no link a seguir - https://rexxsql.sourceforge.net/

Em nosso exemplo, usaremos o banco de dados MySQL como amostra. Portanto, a primeira etapa é garantir o download dos drivers necessários do site Rexx SQL para que os programas Rexx possam trabalhar com SQL de acordo. Portanto, siga as etapas subsequentes para garantir que os programas Rexx possam funcionar com bancos de dados MySQL.

Step 1 - Vá para a seguinte página de download de drivers no site da Rexx - https://sourceforge.net/projects/rexxsql/files/rexxsql/2.6/

Step 2 - Baixe os drivers MYSQL - rxsql26B3_my_w32_ooRexx

Step 3 - Descompacte o conteúdo na máquina local.

Step 4 - Adicione o caminho da pasta descompactada à variável de caminho em sua máquina.

Para todos os exemplos subsequentes, certifique-se de que as seguintes dicas estejam no lugar -

  • Você criou um banco de dados TESTDB.

  • Você criou uma tabela EMPLOYEE em TESTDB.

  • Esta tabela contém os campos FIRST_NAME, LAST_NAME, AGE, SEX e INCOME.

  • O ID do usuário "testuser" e a senha "test123" são definidos para acessar o TESTDB.

  • Certifique-se de ter baixado o arquivo jar mysql e adicionado o arquivo ao seu classpath.

  • Você passou pelo tutorial do MySQL

Conexão de banco de dados

Para estabelecer uma conexão com o banco de dados, primeiro você precisa da DLL Rexxsql e, em seguida, usar a função SQLConnect para estabelecer uma conexão com o banco de dados. A sintaxe e o exemplo de como isso pode ser feito são fornecidos a seguir.

Sintaxe

SQLConnect(cname,username,password,dbname)

Parâmetros

  • cname - Este é o nome a ser dado à conexão.

  • username - O nome de usuário para se conectar ao banco de dados.

  • password - A senha para se conectar ao banco de dados.

  • dbname - O esquema do banco de dados ao qual se conectar.

Valor de retorno

Um valor igual a 0 significa que a conexão com o banco de dados foi bem-sucedida.

Exemplo

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

A saída do programa acima seria conforme mostrado abaixo.

0

Criando uma tabela de banco de dados

A próxima etapa após conectar-se ao banco de dados é criar as tabelas em nosso banco de dados. O exemplo a seguir mostra como criar uma tabela no banco de dados usando Rexx. Todos os comandos em Rexx SQL são executados usando a função SQLCommand.

Sintaxe

SQLConnect(sname,statement)

Parâmetros

  • sname - Este é o nome a ser dado à instrução a ser executada.

  • statement - Esta é a instrução que precisa ser executada no banco de dados.

Valor de retorno

Um valor igual a 0 significa que o comando foi bem-sucedido.

Exemplo

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

A saída do programa acima seria conforme mostrado abaixo.

Connect Succedded 
Changed database to testdb 
Employee table created

Operações em uma tabela de banco de dados

Os seguintes tipos de operações são mais comumente executados em uma tabela de banco de dados.

Sr. Não. Operação e descrição
1 Operação de inserção

É necessário quando você deseja criar seus registros em uma tabela de banco de dados.

2 Leia a operação

Uma operação READ em qualquer banco de dados significa buscar algumas informações úteis do banco de dados.

3 Operação de atualização

A Operação UPDATE em qualquer banco de dados significa atualizar um ou mais registros, que já estão disponíveis no banco de dados.

4 Excluir operação

A operação DELETE é necessária quando você deseja excluir alguns registros de seu banco de dados.

5 Fechando uma conexão

O seguinte comando pode ser usado para fechar uma conexão com o banco de dados.

Realizando Transação

As transações são um mecanismo que garante a consistência dos dados. As transações têm as quatro propriedades a seguir -

  • Atomicity - Ou uma transação é concluída ou nada acontece.

  • Consistency - Uma transação deve começar em um estado consistente e deixar o sistema em um estado consistente.

  • Isolation - Os resultados intermediários de uma transação não são visíveis fora da transação atual.

  • Durability - Depois que uma transação foi confirmada, os efeitos são persistentes, mesmo após uma falha do sistema.

Aqui está um exemplo simples de como implementar transações.

Exemplo

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

A saída do programa acima seria conforme mostrado abaixo.

Connect Succedded 
Changed database to testdb 
COMMITTED

Confirmar operação

A operação de confirmação é o que diz ao banco de dados para prosseguir com a operação e finalizar todas as alterações no banco de dados. Em nosso exemplo acima, isso é alcançado pelo seguinte comando.

Sqlcommit()

Operação de reversão

Se você não estiver satisfeito com uma ou mais alterações e quiser reverter essas alterações completamente, use o método de reversão. Em nosso exemplo acima, isso é alcançado pelo seguinte comando.

SqlRollback()