Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Шрифт:
* Если вы соединены локально, вы можете установить переменные операционной системы ISC_USER и ISC_PASSWORD и исключить необходимость вводить имя пользователя и пароль в командах. Подробнее об этих переменных см. в главе 3.
! ! !
ПРИМЕЧАНИЕ. При вызове интерактивной утилиты могут быть использованы некоторые дополнительные переключатели командной строки. Они представлены в табл. 37.1 в конце этой главы.
. ! .
Текстовый редактор по умолчанию
Некоторые
* В UNIX, Linux и в некоторых других платформах POSIX редактор по умолчанию определяется одной из двух переменных окружения EDITOR и VISUAL. Значением по умолчанию при инсталляции обычно является vi, vim или emacs, но вы можете установить его в любой другой предпочитаемый консольный (но не X) текстовый редактор.
* В Windows похожая история. Редактор по умолчанию определяется переменной окружения EDITOR. В текущих версиях Windows это Notepad.exe, но вы можете установить его в любой текстовый редактор. В очень старых версиях Windows редактор по умолчанию, вероятно, был mep.exe или edit.exe.
Запуск isql
Для запуска isql откройте командную строку и перейдите в каталог Firebird /bin вашей инсталляции Firebird на сервере или клиенте. Наберите следующую команду в подсказке командной строки и нажмите клавишу <Enter>:
isql [имя-базы-данных] [-u[ser] <имя-пользователя> -pas[sword] <пароль>]
Имя базы данных не является обязательным. Если вы его указываете, то isql будет открывать соединение с указанной базой данных. Это должен быть либо полный путь к базе данных из того места, где вы находитесь, либо правильный алиас в версии 1.5 и более поздних.
Переключатели -user <имя-пользователя> и -password <пароль> являются необязательными, когда вы запускаете isql без указания связи с базой данных, и требуются, когда вы запускаете isql в удаленном режиме. Если переменные окружения ISC USER и ISC PASSWORD не установлены, имя пользователя и пароль требуются при старте isql локально.
Запуск программы в POSIX:
./isql
а в Windows:
isql
./isql -user TEMPDBA -password osoweary [в POSIX] isql -user TEMPDBA -password osoweary [в Windows]
запускается программа и сохраняются заданные имя пользователя и пароль без их идентификации.
isql hotchicken:/data/mydatabase.fdb -user TEMPDBA -password osoweary
Указанная команда запускает программу на клиенте Windows и соединяется с базой данных на сервере POSIX, предоставляя верные на сервере имя пользователя и пароль.
./isql /data/mydatabase.fdb
запускает локально программу на сервере Linux и соединяется с базой данных в предположении, что переменные окружения ISC_USER и ISC_PASSWORD установлены и доступны вашему пользовательскому профилю пользователя в Linux.
Если вы подключились к базе данных при запуске isql, вы увидите консоль, похожую на рис. 37.1. Конкретный вид окна командной строки зависит от операционной системы. Командная строка isql одинакова для всех платформ.
Рис. 37.1.
Если вы не ввели путь к базе данных или имя пользователя и пароль не определены на сервере, вы увидите нечто, похожее на рис. 37.2.
< image l:href="#"/>Рис. 37.2. Консоль, отображаемая при запуске isql без подключения к базе данных
Если были ошибки в командной строке или возникли проблемы с идентификацией пользователя, вы можете также увидеть сообщения об ошибке. Если вы видите подсказку SDQ>, значит вы находитесь в командной строке isql и можете из нее соединяться с базой данных.
Соединение с базой данных
Для соединения с базой данных из подсказки SQL> командной строки isql используйте следующий пример в качестве образца синтаксиса. Обратите внимание, что синтаксис внутри командной строки isql отличается от синтаксиса, используемого при передаче параметров соединения и системной командной строки.
CONNECT 'HOTCHICKEN:L:\DATA\EXAMPLES\EMPLOYEE.FDB'
USER 'SYSDBA' PASSWORD 'masterkey';
соединяет с удаленным или локальным сервером с именем HOTCHICKEN.
CONNECT 'L:\DATA\EXAMPLES\EMPLOYEE.FDB';
соединяет с локальным сервером, на котором isql уже знает ваше имя пользователя и пароль - либо потому что вы правильно ввели их при запуске isql, либо потому что isql выполняется в командной строке, которая может видеть переменные окружения ISC_USER и ISC_PASSWORD.
CONNECT 'HOTCHICKEN:EMP3' USER 'SYSDBA' PASSWORD 'masterkey';
эквивалентно первому примеру в Firebird версии 1.5 и выше; при этом используется алиас, хранящийся в файле aliases.conf на сервере, который указывает путь.
CONNECT 'L:/DATA/EXAMPLES/EMPLOYEE.FDB';
эквивалентно второму примеру. В isql наклонная черта может быть прямой и обратной.
В Windows не путайте имена серверов и имена совместно используемых дисков. Сеть клиент-сервер не распознает разделяемые диски и каталоги (mapped drive, shared folder). Идентификатор диска всегда должен указывать на фактическую букву жесткого диска или раздела на серверной машине.
Независимо от того, соединились ли вы из командной строки или сделали это внутри командной строки isql, идентификация пользователя будет ошибочной, если сервер не распознает имя пользователя или пароль. Например, на рис. 37.3 показано, что вы увидите, если оператор CONNECT будет ошибочным.
Рис. 37.3. Ошибочная идентификация пользователя
Если такое произошло, дважды проверьте, правильно ли вы задали имя пользователя и пароль, и в правильном ли регистре введен пароль. Пароль чувствителен к регистру, а имя пользователя нет.