Чтение онлайн

ЖАНРЫ

Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil

Востриков С М

Шрифт:

Примерный вид диалога настройки DSN приведен на рисунке 3 4.

Рис 3.4. Диалог настройки источника данных

В случае использования DSN-less-соединения приложение должно передать все параметры соединения вместе с именем драйвера в строке соединения.

Ниже перечислены все опции настройки источника данных параллельно для настройки DSN и при задании в строке соединения. Параметр Options содержит битовую маску, каждый бит которой соответствует установке некоторого флага в диалоге DSN.

Табл 3.1. Параметры настройки источника данных

Поле диалога настройки DSN

Параметр строки соединения

Значение по умолчанию

Описание

– --

Driver

– --

Имя ODBC-драйвера.

Используется только для DSN-less-соединений. Если имя драйвера содержит пробелы, необходимо заключить его в фигурные скобки. Для Gemini ODBC-драйвера нужно задавать так: DRIVER={Gemini InterBase ODBC Driver 2 0);

Data Source Name

DSN

– --

Имя источника данных Используется для соединений с применением DSN

Protocol

Protocol

1

Протокол, используемый для соединения. Задается числовым кодом, возможные значения которого таковы:

1 - Local; 2 -TCP; 3 - NetBEUI (Named Pipes); 4-SPX

Server

Server

" "

Имя серверного компьютера для удаленных протоколов. Пустое имя соответствует локальному серверу

Database File

Database

– --

Имя файла базы данных. Обязательный параметр

Default User Name

UID

" "

Имя пользователя

Password

PWD

" "

Пароль пользователя. Не рекомендуется задавать пароль в настройках DSN, поскольку он хранится в реестре в открытом виде

Role

Role

" "

Имя роли SQL, используемое при подключении к базе данных

Character Set

Charset

" "

Название кодировки пользовательского подключения

InterBase Version

Version

6

Номер версии сервера, в котором была создана база данных

Dialect

Dialect

3

InterBase SQL-диалект

Soft Commits

256 (0x100)

Использовать COMMIT RETAINING. Соответствует биту 8 (маска 256) поля Options. Внимание! Установленному биту соответствует "жесткий" COMMIT

Close Cursors on Commit

Закрывать курсоры при завершении транзакции. Соответствует биту 0 (маска 1 ) поля Options

Case- insensitive identifiers

Отключает поддержку идентификаторов, зависящих от регистра в диалекте 3 Соответствует биту 2 (маска 4) поля Options

Report Owners as Schemes

Options

Выдавать имя владельца объектов при описании структуры базы данных. Для большинства приложений приводит к проблемам. Соответствует биту 1 (маска 2) поля Options

No Record Versions

Запрещает чтение старых версий записей в уровне изоляции READ COMMITTED Соответствует бит 4 (маска 16) поля Options

No Wait On Locks

Запрещает ожидание транзакции в случае конфликтов обновлений. Соответствует биту 5 (маска 32) поля Options

Read Only

Readonly

0

Устанавливает режим обращения "только чтение" к базе данных

Рассмотрим несколько примеров задания строки соединения из приложения В качестве приложения возьмем скрипт на языке VB Script. Для запуска теста вам необходимо выполнить скрипт с помощью команды cscript имя-файла.vbs.

DSN-less соединение

В этом примере все параметры соединения устанавливаются программно

dim conn

set conn = CreateObject("ADODB.Connection")

conn . open "Dnver= {Gemini InterBase ODBC Driver

2.0);Protocol=2;Server=localhost;Database=z:\borland\InterBase\

examples\employee.gdb;Dialect=3;UID=sysdba;PWD=masterkey"

Соединение

с использованием DSN

В этом примере вам необходимо создать источник данных с именем Employee. В программе передаются только имя пользователя и пароль.

dim conn

set conn = CreateOb3ect("ADODB.Connection")

conn.open "DSN=Employee;UID=sysdba;PWD=masterkey"

Вероятные проблемы и способы их решения

Сообщение "Client library cannot be loaded" при попытке установить соединение.
– На компьютере не установлен клиент InterBase/Firebird. Проверьте наличие библиотеки GDS32.DLL в системном каталоге Windows

Ошибка "Optional feature not supported".
– В строке соединения и настройке DSN имя сервера указано дважды, например, в поле Server и в поле Database. При этом на сервер приходит строка соединения следующего вида: Localhost:localhost./path_to_database/db.gdb. Проверьте настройки DSN и строку коннекта

Ошибка "Una\ tillable database" при соединении из службы N1, например US или MS OLAP Sendees.
– Возможная причина - источник данных настроен на использование локального протокола. Локальный протокол InterBase/Firebird не поддерживает соединения из служб Windows NT/2000. Используйте протокол TCP или Named Pipes с пустым именем сервера.

При установке на "чистую" Windows NT 4.0 имя DSN в ODBC Data Source отображается неправильно.
– На компьютере не установлен ODBC Driver Manager версии 3.5 или выше. Установите обновление MDAC, которое можно загрузить с Web-сайта Microsoft.

При записи пустой строки в связанную таблицу Microsoft Access выдается ошибка "You tried to assign tlie NULL variable to the variable that is not a Vanant data type".
– К сожалению, Microsoft Access не допускает хранения пустых строк в связанной таблице. Пустая строка автоматически преобразуются в NULL; если при этом поле таблицы объявлено как NOT NULL, возникает данная ошибка.

Невозможно обновить связанную таблицу в Microsoft Access, содержащую вычисляемые поля.
– Клиентская библиотека InterBase не содержит средств для определения того, какие из полей результата выборки являются обновляемыми. При обновлении любого поля таблицы Microsoft Access выполняет команду обновления всех полей, включая вычисляемые, что приводит к ошибочной ситуации.

Заключение

Если вы применяете приложения, рассчитанные на использование источников данных ODBC, такие, как настольные офисные системы, языки программирования или даже серверы баз данных, использование ODBC, вероятно, будет самым простым и надежным способом интегрировать их с базами данных InterBase/Firebird. Для разработчиков ODBC предоставляет возможность проектировать приложения, способные однообразно работать с InterBase/Firebird наравне с другими серверами СУБД в качестве источника данных и при необходимости легко переносить приложения между разными типами серверов

В этой главе описан драйвер Gemini ODBC, его настройка и использование для доступа к базам данных InterBase. Свежую информацию о драйвере, сообщения о выпуске новых версий вы всегда сможете найти на Web-сайте поддержки данной книги www.InterBase-world.com, а также на сайте Gemini www.ibdatabase.com.

Создание клиентов на Java. InterClient и JDBC

Технология Java является одной из самых бурно развивающихся в мире. Поэтому поддержка Java является необходимым условием существования любого сервера баз данных. Разумеется, и InterBase, и все его клоны поддерживают возможность работы с приложениями на Java.

Для того чтобы работать с базами данных InterBase в Java-приложениях, необходимо задействовать технологию JDBC (часто расшифровывается как Java DataBase Connectivity). Для подключения JDBC к InterBase можно использовать несколько способов.

Во-первых, можно применять мост JDBC-ODBC, который может использоваться в комбинации с многочисленными ODBC-драйверами для InterBase и его клонов - например, Gemini. Но сейчас разработчики на Java стараются не использовать мост ODBC-JDBC, так как это существенно увеличивает зависимость приложения от платформы. Для того чтобы разрабатывать независимые от платформы приложения, существует "сетевой" JDBC-драйвер для InterBase, так называемый InterClient.

InterClient относится к 3-му типу JDBC-драйверов согласно классификации компании Sun. InterClient состоит из двух частей - собственно драйвера, написанного на "чистом" Java, и промежуточного сервера (называемого InterServer), который транслирует вызовы JDBC-команд в команды InterBase. Данный способ является наиболее безопасным и гибким для работы в Интернете. Именно InterClient мы будем использовать в качестве основы для примера, в котором продемонстрируем разработку клиента InterBase на Java.

Все приведенные ниже примеры приводятся в предположении, что на рабочем компьютере, где будет установлен InterClient, предварительно установлен пакет JDK1.3 или JDK1.4. Работа InterClient 2.x с более ранними версиями JDK может вызвать некоторые проблемы и иногда необходимость использовать более раннюю версию InterClient 1.6.

Установка InterClient

В настоящий момент самой последней является версия InterClient 2.01. Надо отметить, что InterClient является бесплатным и его можно свободно скачать с сайтаили с с.айта поддержки данной книги www.InterBase-world.com. Существуют версии InterClient как для Windows 95/98/ Me/NT 4/2000, так и для Linux. Мы рассмотрим установку и работу под Windows, хотя и установка под Linux ненамного сложнее и вся установка сводится к распаковке tar-архива и запуску инсталляционных скриптов.

Поделиться с друзьями: