- •1. Программа ibConsole
- •Управление сервером
- •1.1.1. Подключение к серверу
- •1.1.2. Регистрация сервера
- •1.1.3. Просмотр протокола работы сервера
- •1.1.4. Операции с сертификатами
- •1.1.5. Управление пользователями
- •1.2.2. Подключение базы данных
- •1.2.3. Создание базы данных
- •1.2.4. Просмотр метаданных
- •1.2.5. Сбор мусора
- •1.2. Управление базой данных
- •1.2.1. Регистрация базы данных
- •1.2.6. Проверка состояния базы данных
- •1.2.7. Анализ статистики
- •1.2.8. Сохранение и восстановление базы данных
- •1.3. Интерактивное выполнение sql-запросов
- •2. Программа sql Monitor
1.3. Интерактивное выполнение sql-запросов
Консоль IBConsole позволяет в интерактивном режиме выполнять команды, заданные на языке SQL. Выполнение SQL-запросов и получение их результатов выполняются в окне Interactive SQL... (рис. 10.15), вызываемом командой Tools/Interactive SQL.... Это окно реализует функциональность, которая в предыдущих версиях сервера InterBase принадлежала программе Windows Interactive SQL (WISQL), и мало чем отличается от нее. В заголовке окна отображается имя файла БД, а в строке состояния — его полное имя. Одновременно можно открыть несколько окон Interactive SQL для различных БД.
Рис. 10.15. Окно интерактивного выполнения SQL-запросов
В окне Interactive SQL можно выполнять различные операции с БД, включая создание и удаление БД и ее таблиц, соединение с БД, просмотр и изменение данных. Выполнение операций с БД основано на выполнении соответствующих операторов языка SQL (SQL-запросов). Эти операторы формируются и выполняются автоматически при выборе определенных команд меню. Так, при создании БД на основании указанных параметров формируется оператор create DATABASE.
Кроме того, можно набирать и выполнять операторы в ручном режиме. Операторы вводятся в верхней части окна, а в нижней его части выдаются результаты их выполнения.
Операторы можно набирать и выполнять поочередно. Перемещение между отдельными операторами осуществляется нажатием кнопок с изображением желтых стрелок. Кнопка со стрелкой влево выводит в окне предыдущий, а со стрелкой вправо — последующий оператор. Выполнение оператора осуществляется при нажатии кнопки с изображением желтой молнии.
Результаты работы оператора можно запомнить в обычном текстовом файле, выбрав команду сохранения результата Query/Save Output.
Последовательность ействий, заданных после запуска окна Interactive SQL, можно сохранить в виде "истории". Для этого служит команда File/Save SQL History - "История" запоминается в виде текстового файла с расширением HST или ТХТ.
Последовательность операторов SQL представляет собой сценарий, или скрипт, его удобно использовать для автоматизации операций с БД. Сохранение сценария выполняется командой Query/Save Script. Скрипт запоминается в виде текстового файла с расширением SQL или ТХТ.
Сохраненный сценарий впоследствии можно загрузить, для чего надо вызвать команду Query/Load Script и указать имя сценария.
При выполнении операций, связанных с изменением БД, автоматически используется механизм транзакций, т. е. одновременно с началом изменяющей БД операции запускается транзакция. Такой режим запуска транзакций, как мы уже знаем, называется неявным. Для закрепления выполненных изменений нужно выполнить оператор commit, а для отказа от них — rollback (это же можно сделать через вызов команд Transactions/Commit и Transactions/Rollback).
Параметры выполнения SQL-запросов устанавливаются в окне SQL Options, которое вызывается командой Edit/Options (рис. 10.16).
Рис. 10.16. Установка параметров выполнения SQL-запросов
На странице Options можно задать следующие параметры:
Show Query Plan — показывать план выполнения запроса;
Auto Commit DDL (Автоматическое подтверждение операций DDL) — операторы определения данных, например создания таблиц, автоматически подтверждаются, т. е. связанная с операторами неявная транзакция не требует дополнительного подтверждения;
Character Set — набор символов, используемый для кодировки строк (для нашей страны рекомендуется задавать набор WIN1251);
BLOB Display — режим отображения BLOB-объектов, может принимать значения Restrict, Enabled И Disabled;
BLOB Subtype — тип данных, содержащихся в объекте BLOB (по умолчанию Text);
Terminator — разделитель, используемый в качестве знака окончания SQL- запроса (по умолчанию ;);
Client Dialect — определяет диалект (версию) языка SQL.
Переключатель Clear input window on success управляет режимом очистки верхней половины экна с текстом SQL-запроса в случае его успешного выполнения. По умолчанию переключатель включен, и окно очищается.
Замечание
В коде хранимых процедур и триггеров в качестве разделителя используется знак ;, который не является окончанием SQL_3anpoca. Поэтому при их отладке параметру Terminator необходимо установить другое значение, например, пробел.
Дополнительные параметры устанавливаются на странице Advanced (рис. 10.17).
Рис. 10.17. Установка дополнительных параметров выполнения SQL-запроса
Наибольший интерес представляет группа переключателей Transactions, которые определяют режим подтверждения незавершенной транзакции при прекращении работы с БД: подтверждать незавершенную транзакцию (Commit on exit) или отменять ее (Rollback on exit).
Управление БД в окне Interactive SQL фактически происходит в ручном режиме и заключается в вводе и выполнении операторов SQL. Единственным средством автоматизации, например, при создании таблиц или триггеров, является использование сценариев, хотя и в этом случае сценарии должны быть предварительно подготовлены. По удобству работы окно Interactive SQL уступает даже относительно простым программам типа Database Desktop. Несмотря на это, управление БД рассмотрено нами именно с использованием интерактивного SQL. Это сделано для того, чтобы показать особенности работы с удаленными БД, а также продемонстрировать язык SQL для удаленного сервера.
Кроме консоли IBConsole и подобных ей программ, имеются так называемые средства CASE, с помощью которых разработчик может управлять БД в интерактивном режиме.
