Rexx имеет возможность работать с различными базами данных, которые перечислены ниже.
- HSQLDB
- оракул
- SQL Server
- MySQL
- MongoDB
Всю информацию о базах данных Rexx можно найти, нажав на следующую ссылку — https://rexxsql.sourceforge.net/
В нашем примере мы собираемся использовать MySQL DB в качестве образца. Поэтому первым шагом является загрузка необходимых драйверов с сайта Rexx SQL, чтобы программы Rexx могли соответствующим образом работать с SQL. Поэтому выполните следующие шаги, чтобы убедиться, что программы Rexx могут работать с базами данных MySQL.
Шаг 1. Перейдите на следующую страницу загрузки драйверов с сайта Rexx — https://sourceforge.net/projects/rexxsql/files/rexxsql/2.6/.
Шаг 2 — Загрузите драйверы MYSQL — rxsql26B3_my_w32_ooRexx
Шаг 3 — Распакуйте содержимое на локальный компьютер.
Шаг 4 — Добавьте путь к разархивированной папке в переменную path на вашем компьютере.
Для всех последующих примеров убедитесь, что следующие указатели на месте —
-
Вы создали базу данных TESTDB.
-
Вы создали таблицу EMPLOYEE в TESTDB.
-
В этой таблице есть поля FIRST_NAME, LAST_NAME, AGE, SEX и INCOME.
-
Идентификатор пользователя «testuser» и пароль «test123» установлены для доступа к TESTDB.
-
Убедитесь, что вы загрузили файл jar mysql и добавили его в путь к классам.
-
Вы прошли учебник MySQL
Вы создали базу данных 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 — имя пользователя для подключения к базе данных.
-
пароль — пароль для подключения к базе данных.
-
dbname — схема базы данных для подключения.
cname — это имя для подключения.
username — имя пользователя для подключения к базе данных.
пароль — пароль для подключения к базе данных.
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 — это имя, которое нужно дать оператору для выполнения.
-
оператор — это оператор, который должен быть выполнен для базы данных.
sname — это имя, которое нужно дать оператору для выполнения.
оператор — это оператор, который должен быть выполнен для базы данных.
Возвращаемое значение
Значение, равное 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 | Закрытие соединения
Следующая команда может использоваться для закрытия соединения с базой данных. |
Это необходимо, когда вы хотите создать свои записи в таблице базы данных.
Операция READ для любой базы данных означает получение некоторой полезной информации из базы данных.
Операция UPDATE в любой базе данных означает обновление одной или нескольких записей, которые уже доступны в базе данных.
Операция DELETE требуется, когда вы хотите удалить некоторые записи из вашей базы данных.
Следующая команда может использоваться для закрытия соединения с базой данных.
Выполнение транзакции
Транзакции — это механизм, который обеспечивает согласованность данных. Транзакции имеют следующие четыре свойства —
-
Атомарность — либо транзакция завершена, либо ничего не происходит вообще.
-
Согласованность — транзакция должна начинаться в согласованном состоянии и оставлять систему в согласованном состоянии.
-
Изоляция — промежуточные результаты транзакции не видны за пределами текущей транзакции.
-
Долговечность — после совершения транзакции последствия сохраняются даже после сбоя системы.
Атомарность — либо транзакция завершена, либо ничего не происходит вообще.
Согласованность — транзакция должна начинаться в согласованном состоянии и оставлять систему в согласованном состоянии.
Изоляция — промежуточные результаты транзакции не видны за пределами текущей транзакции.
Долговечность — после совершения транзакции последствия сохраняются даже после сбоя системы.
Вот простой пример реализации транзакций.
пример
/* 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
Совершить операцию
Операция commit — это то, что сообщает базе данных, что нужно продолжить операцию и завершить все изменения в базе данных. В нашем примере выше это достигается с помощью следующей команды.
Sqlcommit()
Операция отката
Если вы не удовлетворены одним или несколькими изменениями и хотите полностью отменить эти изменения, используйте метод отката. В нашем примере выше это достигается с помощью следующей команды.