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