Communication Diagnostics

Communication Diagnostics

Прежде чем приниматься писать приложение базы данных на Java, необходимо проверить, а доступна ли нужная база данных. Для проверки возможности соединения с базами данных InterBase через InterClient служит Java-апплет Communication Diagnostics, входящий в состав поставки InterClient. Чтобы его запустить, можно либо открыть файл CommDiag.html, после чего в отдельном окне запустится этот апплет (естественно, ваш браузер должен поддерживать JAVA-апплеты), либо запустить его в командной строке следующим образом: Java InterBase.interclient.utils.CommDiag

При этом появится окно диалога для проверки соединения с базой данных.

Если у вас в настройках Windows стоят региональные установки (Панель управленияЯзык и стандарты, закладка ОбщиеЯзык(Местоположение)) для России - "Русский", то скорее всего вместо нормальных русских букв вы увидите непонятные символы, свидетельствующие о неправильной кодировке файлов ресурсов для русского языка.

Бороться с некорректным представлением сообщений InterClient на русском языке можно двумя способами: либо установить в качестве значения для "Язык(Местоположение)" язык "Английский" и получить таким образом окно диагностики на английском языке, либо скачать исправленную версию JDBC-драйвера InterBase interclient.jar с корректной поддержкой русского языка. Его можно скачать с сайта http://people.comita.spb.ru/users/sergeya/Java/interclient.jar или с сайта поддержки этой книги www.InterBase-world.com.

Здесь приводится английский вариант окна диагностики, которое изображено на рисунке 3.5:

Рис 3.5. Окно диагностики соединения через InterClient

Как видно из рисунка, для того, чтобы проверить соединение с базой данных через InterClient, необходимо заполнить поля "InterServer Host", "Database File", а также "User" и "Password". Если вы работаете по локальной сети (или вообще на собственной локальной машине), то поле "Timeout" можно не задавать.

Допустим, у нас есть база данных test.gdb под управлением InterBase на компьютере-сервере server_nt, к которой мы хотим подключиться через InterClient. Если обычная строка соединения к базе выглядит так:

server_nt:С:Database est.gdb

то необходимо ввести в поле "InterServerHost" значение "server_nt", а в поле Database File - "C:/Database/test.gdb". Обратите внимание, что в качестве разделителя каталогов используется прямая косая черта. Вообще говоря, InterClient позволяет использовать для разделения каталогов в строке соединения и привычную Windows-пользователям обратную косую черту, однако лучше использовать прямую, чтобы не было необходимости квотировать обратную косую черту в программе на Java.

Нажимаем кнопку Test и видим результаты подсоединения к базе данных. Помните, что программа-транслятор InterServer обязательно должна функционировать на том же компьютере, где работает InterBase. Поэтому "InterServer Host" совпадает с именем сервера, на котором работает InterBase. Допускается, но не рекомендуется указывать в поле "InterServer Host" IP-адрес компьютера- сервера.

Итак, если соединение прошло успешно, то увидите успешное подтверждение соединения в окне диагностики. Пример сведений, выдаваемых в окне диагностики для базы данных на локальном компьютере со строкой соединения localhost:C:Database est.gdb, приведен ниже:

InterClient Release: 2.0.1 Test Build,

Client/Server Edition

InterClient compatible JRE versions: 1.3

InterClient compatible IB versions: 5, 6

InterClient driver name:

InterBase.interclient.Driver

InterClient JDBC protocol: jdbc:InterBase:

InterClient JDBC protocol version: 20001

InterClient expiration date: no expiration date

Testing database URL

jdbc:InterBase://localhost/C:/Database/test.gdb.

Connection established to

jdbc:InterBase://localhost/C:/Database/test.gdb

Database product name: InterBase

Database product version: WI-T6.2.773 Firebird 1.0

Database ODS version: 10.0

Database Page Size: 8,192 bytes

Database Page Allocation: 134 pages

Database Size: 1,072 Kbytes

Database SQL Dialect: 3

Middleware JDBC/Net server name: InterServer

Middleware JDBC/Net server version: 2.0.1 Test Build

Middleware JDBC/Net server protocol version: 20001

Middleware JDBC/Net server expiration date: no expiration date

Middleware JDBC/Net server port: 3060

Test connection closed.

***** N0 installation problems detected! *****

Помимо разнообразных сведений, в окне диагностики выводится строка JDBC- соединения, которая была использована для проверки связи с базой данных:

jdbc:InterBase://localhost/C:/Database/test.gdb

Это очень удобный способ формировать синтаксически правильные строки JDBC-соединения. Давайте сохраним эту строку для будущего использования в нашей программе.