Rexx - Базы данных

Rexx может работать с множеством баз данных, перечисленных ниже.

  • HSQLDB
  • Oracle
  • SQL Server
  • MySQL
  • MongoDB

Всю информацию о базах данных Rexx можно найти, нажав на следующую ссылку - https://rexxsql.sourceforge.net/

В нашем примере мы будем использовать базу данных MySQL в качестве образца. Итак, первый шаг - убедиться, что необходимые драйверы загружены с сайта Rexx SQL, чтобы программы Rexx могли работать с SQL соответствующим образом. Поэтому выполните следующие шаги, чтобы убедиться, что программы Rexx могут работать с базами данных MySQL.

Step 1 - Перейдите на следующую страницу загрузки драйверов с сайта Rexx - https://sourceforge.net/projects/rexxsql/files/rexxsql/2.6/

Step 2 - Загрузите драйверы MYSQL - rxsql26B3_my_w32_ooRexx

Step 3 - Разархивируйте содержимое на локальный компьютер.

Step 4 - Добавьте путь к распакованной папке в переменную пути на вашем компьютере.

Для всех последующих примеров убедитесь, что установлены следующие указатели:

  • Вы создали базу данных TESTDB.

  • Вы создали таблицу EMPLOYEE в TESTDB.

  • В этой таблице есть поля FIRST_NAME, LAST_NAME, AGE, SEX и INCOME.

  • Идентификатор пользователя testuser и пароль test123 установлены для доступа к TESTDB.

  • Убедитесь, что вы скачали файл jar mysql и добавили его в путь к классам.

  • Вы прошли обучение MySQL

Подключение к базе данных

Чтобы установить соединение с базой данных, вам сначала потребуется библиотека Rexxsql, а затем использовать функцию SQLConnect, чтобы установить соединение с базой данных. Синтаксис и пример того, как этого можно достичь, приведены ниже.

Синтаксис

SQLConnect(cname,username,password,dbname)

Параметры

  • cname - Это имя для подключения.

  • username - Имя пользователя для подключения к базе данных.

  • password - Пароль для подключения к базе данных.

  • dbname - Схема базы данных для подключения.

Возвращаемое значение

Значение, равное 0, будет означать, что соединение с базой данных выполнено успешно.

пример

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

Результат вышеупомянутой программы будет таким, как показано ниже.

0

Создание таблицы базы данных

Следующим шагом после подключения к базе данных является создание таблиц в нашей базе данных. В следующем примере показано, как создать таблицу в базе данных с помощью Rexx. Все команды в Rexx SQL выполняются с помощью функции SQLCommand.

Синтаксис

SQLConnect(sname,statement)

Параметры

  • sname - Это имя, которое следует дать инструкции для выполнения.

  • statement - Это оператор, который необходимо выполнить для базы данных.

Возвращаемое значение

Значение, равное 0, будет означать, что команда выполнена успешно.

пример

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

Результат вышеупомянутой программы будет таким, как показано ниже.

Connect Succedded 
Changed database to testdb 
Employee table created

Операции с таблицей базы данных

Следующие типы операций чаще всего выполняются с таблицей базы данных.

Sr. No. Работа и описание
1 Вставить операцию

Это требуется, когда вы хотите создать свои записи в таблице базы данных.

2 Читать операцию

Операция READ в любой базе данных означает получение некоторой полезной информации из базы данных.

3 Операция обновления

Операция UPDATE в любой базе данных означает обновление одной или нескольких записей, которые уже доступны в базе данных.

4 Удалить операцию

Операция DELETE требуется, если вы хотите удалить некоторые записи из своей базы данных.

5 Закрытие соединения

Следующая команда может использоваться для закрытия соединения с базой данных.

Выполнение транзакции

Транзакции - это механизм, обеспечивающий согласованность данных. Транзакции имеют следующие четыре свойства -

  • Atomicity - Либо транзакция завершается, либо вообще ничего не происходит.

  • Consistency - Транзакция должна начинаться в согласованном состоянии и оставлять систему в согласованном состоянии.

  • Isolation - Промежуточные результаты транзакции не видны вне текущей транзакции.

  • Durability - После фиксации транзакции последствия сохраняются даже после сбоя системы.

Вот простой пример того, как проводить транзакции.

пример

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

Результат вышеупомянутой программы будет таким, как показано ниже.

Connect Succedded 
Changed database to testdb 
COMMITTED

Подтвердить операцию

Операция фиксации - это то, что сообщает базе данных продолжить операцию и завершить все изменения в базе данных. В нашем примере выше это достигается с помощью следующей команды.

Sqlcommit()

Откат операции

Если вас не устраивают одно или несколько изменений и вы хотите полностью отменить эти изменения, используйте метод отката. В нашем примере выше это достигается с помощью следующей команды.

SqlRollback()