Как подключиться к серверу firebird

Подключение базы Firebird

В этой статье описывается подключение базы данных Firebird к серверу MSSQL 2008 R2 (SP2) x64.

Шаг 2. Установите провайдер данных ODBC для Firebird. Так как используется 64-битная версия SQL-сервера, то и провайдер данных следует устанавливать той же разрядности под 64-битные версии ОС. Скачать драйвер можно по ссылке http://sourceforge.net/projects/firebird/files/firebird-ODBC-driver/2.0.2-Release/Firebird_ODBC_2.0.2.153_x64.exe/download

Шаг 3. Если у вас 64-битная версия MSSQL вам потребуется 64-разрядная библиотека клиента Firebird. Скачайте архив с файлом по ссылке Fbclient.zip и распакуйте его в любое доступное место. В примере, файл был распакован в заранее созданную папку C:\Program Files (x86)\Firebird\Firebird_2_5\bin\x64

Как подключиться к серверу firebird. Смотреть фото Как подключиться к серверу firebird. Смотреть картинку Как подключиться к серверу firebird. Картинка про Как подключиться к серверу firebird. Фото Как подключиться к серверу firebird

Шаг 4. Настройте системный DSN. Откройте Пуск и запустите утилиту «Источники данных (ODBC)». Для 32-битного SQL-сервера используйте %windir%\SysWOW64\odbcad32.exe.

Запустится утилита «Администратор источников данных ODBC«. Перейдите на вкладку Системный DSN и нажмите «Добавить«. Выберите драйвер Firebird/InterBase(r) driver

Как подключиться к серверу firebird. Смотреть фото Как подключиться к серверу firebird. Смотреть картинку Как подключиться к серверу firebird. Картинка про Как подключиться к серверу firebird. Фото Как подключиться к серверу firebird

Введите следующие настройки:

ВНИМАНИЕ:В некоторых случаях требуется писать 127.0.0.1:C:\FBbase.GDB

После ввода параметров проверьте соединение с помощью соответствующей кнопки. Если соединение успешно нажмите Сохранить.

Как подключиться к серверу firebird. Смотреть фото Как подключиться к серверу firebird. Смотреть картинку Как подключиться к серверу firebird. Картинка про Как подключиться к серверу firebird. Фото Как подключиться к серверу firebird

Шаг 5. Настройте связанный сервер (Linked Server) в MSSQL. Для этого откройте SQL Server Management Studio и на ветке Объекты сервера/Связанные серверы добавьте новый связанный сервер.

На вкладке Введите следующие настройки:

Как подключиться к серверу firebird. Смотреть фото Как подключиться к серверу firebird. Смотреть картинку Как подключиться к серверу firebird. Картинка про Как подключиться к серверу firebird. Фото Как подключиться к серверу firebird

Шаг 6. Для корректной работы связанного сервера требуется установить настройку поставщика данных «Использовать только нулевой уровень». Для этого в ветке Объекты сервера/Связанные серверы/Поставщики откройте параметры поставщика MSDASQL. Поставьте галочку напротив настройки «Только нулевой уровень» и нажмите ОК.

Как подключиться к серверу firebird. Смотреть фото Как подключиться к серверу firebird. Смотреть картинку Как подключиться к серверу firebird. Картинка про Как подключиться к серверу firebird. Фото Как подключиться к серверу firebird

Шаг 7. Обращение к связанному серверу происходит через его имя, которое вы указали в пункте 5. В примере используется имя сервера FB. Ниже показаны основные виды запросов.

Считать данные из таблицы можно с помощью запроса

Источник

Как подключиться к серверу firebird

Имя сервера и путь

Если Вы вдруг решили переместить образец базы данных на другой диск, убедитесь, что он физически подключен к компьютеру. Разделяемые (shared), присоединенные (mapped) диски или (на Unix) смонтированные (mounted) SMB (Samba) файловые системы не будут работать. Это правило касается любых создаваемых Вами баз данных.

При использовании TCP/IP строка подключения состоит из двух частей: имя сервера и путь к файлу. Формат строки имеет следующий вид:

Пример для Linux или другой Posix-системы с именем serverxyz :

Пример для Windows:

Оператор CONNECT

Используем isql

Важно

Если, используя Classic Server под Linux, не указать имя хоста, будет предпринята попытка организовать прямое локальное соединение. Что, в свою очередь, может закончиться неудачей в случае отсутствия у текущей учетной записи Linux необходимых прав доступа к файлу базы данных. В этом случае попробуйте подключиться к localhost : /

. В этом случае файл будет открывать серверный процесс (который в Firebird 1.5 обычно работает от имени firebird ). С другой стороны, попытка сетевого соединения может закончиться неудачно, если пользователь создавал базу данных при локальном подключении и у сервера нет необходимых прав.

В случае использования Classic Server под Windows, Вы должны указывать имя хоста (это может быть localhost ) и полный путь, в противном случае подключиться не получиться.

Замечание

Несмотря на то, что в Firebird « нормальными » символами разделения строк являются одинарные кавычки, в примере, при указании пути к базе данных, использовались двойные кавычки. Это необходимо, так же как и в некоторых других утилитах командной строки, при указании путей, содержащих пробелы. Одинарные кавычки будут работать для путей, не содержащих пробелы.

Кавычки вокруг « SYSDBA » и « masterkey » необязательны. Также не обязательно заключать в кавычки путь к базе данных, не содержащий пробелов.

Далее isql сообщит о том, что Вы подключились:

Для того, чтобы вернуться в командную строку наберите

За дополнительной информацией об использовании isql обращайтесь к Using Firebird, глава 10: Interactive SQL Utility (isql).

Используем графические утилиты

Замечание

Существуют средства, в которых имя сервера + полный путь ожидаются в виде одной строки

Помните, что на Linux и других Posix-системах имена файлов и названия команд являются чувствительными к регистру

Создаем базу данных с помощью isql

Утилита isql позволяет создавать базы данных более, чем одним способом. Мы же рассмотрим простой способ создания базы данных в интерактивном режиме, хотя для серьезного использования Вам, скорее всего, потребуется научиться создавать и использовать скрипты. В руководстве Using Firebird имеется отдельная глава, посвященная этому вопросу.

Запускаем isql

Оператор CREATE DATABASE

Теперь Вы можете создать базу данных. Предположим, что Вы хотите создать базу данных test.fdb и сохранить её в папке data на диске D :

Важно

В случае использования Classic Server под Windows, Вы должны указывать имя хоста (которое может быть localhost ) плюс полный путь к файлу, в противном случае процесс создания закончится неудачей.

Будет создана база данных и через некоторое время вновь появится приглашение SQL. Теперь Вы подключены к новой базе данных и можете создать какие-нибудь объекты в ней.

Чтобы убедиться, что там действительно база данных, выполните запрос:

На экран будет выдано большое количество данных! Этот запрос извлекает все строки из системной таблицы, в которой Firebird хранит метаданные для таблиц. « Пустая » база данных на самом деле не очень-то и пустая – она содержит базу данных, которая будет расти, наполняясь метаданными, по мере создания Вами новых объектов в ней.

Для возвращения в командную строку, наберите

За дополнительной информацией об isql обращайтесь к главе 10 Using Firebird: Interactive SQL Utility (isql).

Firebird SQL

Деление целых чисел

В соответствии со стандартом SQL, Firebird при вычислении частного от деления целого числа на целое округляет результат до ближайшего меньшего целого. В случае если Вы не были готовы, это может слегка шокировать Вас при получении результатов.

Например, следующее вычисление является корректным с точки зрения SQL:

Если Вы переходите с СУБД, в которой частное от деления целого на другое целое приводится к нецелому, Вам будет необходимо доработать подобные выражения и заменить тип делимого, делителя или обоих на число с плавающей или фиксированной точкой.

Например, предыдущий пример, для получения результата отличного от нуля, можно изменить следующим образом:

Источник

Как подключиться к серверу firebird

Имя сервера и путь

Если Вы вдруг решили переместить образец базы данных на другой диск, убедитесь, что он физически подключен к компьютеру. Разделяемые (shared), присоединенные (mapped) диски или (на Unix) смонтированные (mounted) SMB (Samba) файловые системы не будут работать. Это правило касается любых создаваемых Вами баз данных.

При использовании TCP/IP строка подключения состоит из двух частей: имя сервера и путь к файлу. Формат строки имеет следующий вид:

Пример для Linux или другой Posix-системы с именем serverxyz:

Пример для Windows:

Оператор CONNECT

Используем isql

Важно

Если, используя Classic Server под Linux, не указать имя хоста, будет предпринята попытка организовать прямое локальное соединение. Что, в свою очередь, может закончиться неудачей в случае отсутствия у текущей учетной записи Linux необходимых прав доступа к файлу базы данных. В этом случае попробуйте подключиться к localhost: /

. В этом случае файл будет открывать серверный процесс (который в Firebird 1.5 обычно работает от имени firebird). С другой стороны, попытка сетевого соединения может закончиться неудачно, если пользователь создавал базу данных при локальном подключении и у сервера нет необходимых прав.

В случае использования Classic Server под Windows, Вы должны указывать имя хоста (это может быть localhost) и полный путь, в противном случае подключиться не получиться.

Замечание

Несмотря на то, что в Firebird « нормальными » символами разделения строк являются одинарные кавычки, в примере, при указании пути к базе данных, использовались двойные кавычки. Это необходимо, так же как и в некоторых других утилитах командной строки, при указании путей, содержащих пробелы. Одинарные кавычки будут работать для путей, не содержащих пробелы.

Кавычки вокруг « SYSDBA » и « masterkey » необязательны. Также не обязательно заключать в кавычки путь к базе данных, не содержащий пробелов.

Далее isql сообщит о том, что Вы подключились:

Теперь Вы можете продолжить эксперименты с базой employee.fdb. isql означает interactive SQL [utility] (интерактивный SQL). Вы можете использовать её для извлечения данных, получения метаинформации, создания объектов базы данных, запуска скриптов и многого другого.

Для того, чтобы вернуться в командную строку наберите

За дополнительной информацией об использовании isql обращайтесь к Using Firebird, глава 10: Interactive SQL Utility (isql).

Используем графические утилиты

Замечание

Существуют средства, в которых имя сервера + полный путь ожидаются в виде одной строки

Помните, что на Linux и других Posix-системах имена файлов и названия команд являются чувствительными к регистру

Источник

Как подключиться к серверу firebird

Имя сервера и путь

Если Вы вдруг решили переместить образец базы данных на другой диск, убедитесь, что он физически подключен к компьютеру. Разделяемые (shared), присоединенные (mapped) диски или (на Unix) смонтированные (mounted) SMB (Samba) файловые системы не будут работать. Это правило касается любых создаваемых Вами баз данных.

При использовании TCP/IP строка подключения состоит из двух частей: имя сервера и путь к файлу. Формат строки имеет следующий вид:

Пример для Linux или другой Posix-системы с именем serverxyz :

Пример для Windows:

Оператор CONNECT

Используем isql

Важно

Если, используя Classic Server под Linux, не указать имя хоста, будет предпринята попытка организовать прямое локальное соединение. Что, в свою очередь, может закончиться неудачей в случае отсутствия у текущей учетной записи Linux необходимых прав доступа к файлу базы данных. В этом случае попробуйте подключиться к localhost : /

. В этом случае файл будет открывать серверный процесс (который в Firebird 1.5 обычно работает от имени firebird ). С другой стороны, попытка сетевого соединения может закончиться неудачно, если пользователь создавал базу данных при локальном подключении и у сервера нет необходимых прав.

В случае использования Classic Server под Windows, Вы должны указывать имя хоста (это может быть localhost ) и полный путь, в противном случае подключиться не получиться.

Замечание

Несмотря на то, что в Firebird « нормальными » символами разделения строк являются одинарные кавычки, в примере, при указании пути к базе данных, использовались двойные кавычки. Это необходимо, так же как и в некоторых других утилитах командной строки, при указании путей, содержащих пробелы. Одинарные кавычки будут работать для путей, не содержащих пробелы.

Кавычки вокруг « SYSDBA » и « masterkey » необязательны. Также не обязательно заключать в кавычки путь к базе данных, не содержащий пробелов.

Далее isql сообщит о том, что Вы подключились:

Для того, чтобы вернуться в командную строку наберите

За дополнительной информацией об использовании isql обращайтесь к Using Firebird, глава 10: Interactive SQL Utility (isql).

Используем графические утилиты

Замечание

Существуют средства, в которых имя сервера + полный путь ожидаются в виде одной строки

Помните, что на Linux и других Posix-системах имена файлов и названия команд являются чувствительными к регистру

Создаем базу данных с помощью isql

Утилита isql позволяет создавать базы данных более, чем одним способом. Мы же рассмотрим простой способ создания базы данных в интерактивном режиме, хотя для серьезного использования Вам, скорее всего, потребуется научиться создавать и использовать скрипты. В руководстве Using Firebird имеется отдельная глава, посвященная этому вопросу.

Запускаем isql

Оператор CREATE DATABASE

Теперь Вы можете создать базу данных. Предположим, что Вы хотите создать базу данных test.fdb и сохранить её в папке data на диске D :

Важно

В случае использования Classic Server под Windows, Вы должны указывать имя хоста (которое может быть localhost ) плюс полный путь к файлу, в противном случае процесс создания закончится неудачей.

Будет создана база данных и через некоторое время вновь появится приглашение SQL. Теперь Вы подключены к новой базе данных и можете создать какие-нибудь объекты в ней.

Чтобы убедиться, что там действительно база данных, выполните запрос:

На экран будет выдано большое количество данных! Этот запрос извлекает все строки из системной таблицы, в которой Firebird хранит метаданные для таблиц. « Пустая » база данных на самом деле не очень-то и пустая – она содержит базу данных, которая будет расти, наполняясь метаданными, по мере создания Вами новых объектов в ней.

Для возвращения в командную строку, наберите

За дополнительной информацией об isql обращайтесь к главе 10 Using Firebird: Interactive SQL Utility (isql).

Firebird SQL

Деление целых чисел

В соответствии со стандартом SQL, Firebird при вычислении частного от деления целого числа на целое округляет результат до ближайшего меньшего целого. В случае если Вы не были готовы, это может слегка шокировать Вас при получении результатов.

Например, следующее вычисление является корректным с точки зрения SQL:

Если Вы переходите с СУБД, в которой частное от деления целого на другое целое приводится к нецелому, Вам будет необходимо доработать подобные выражения и заменить тип делимого, делителя или обоих на число с плавающей или фиксированной точкой.

Например, предыдущий пример, для получения результата отличного от нуля, можно изменить следующим образом:

Источник

12. Работа в сети

Для работы с базой данных по сети требуется установить сервер баз данных Firebird 2.5. Скачать можно с официального сайта. Установка очень простая: далее, далее, …, готово.

На этом же компьютере должен находится файл базы данных DataExpress. Возможно потребуется в настройках брандмауэра открыть порт 3050.

Управление подключениями

Как подключиться к серверу firebird. Смотреть фото Как подключиться к серверу firebird. Смотреть картинку Как подключиться к серверу firebird. Картинка про Как подключиться к серверу firebird. Фото Как подключиться к серверу firebird
В окне Подключиться к базе данных, доступном через меню Файл-Подключиться, можно настроить подключение к существующей базе данных, локальной или удаленной, задать расположение папки шаблонов и папки вывода.

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

Не оставляйте группы пустыми, т. к. пустые группы не сохраняются.

Вы можете быстро добавить новое подключение к уже работающей базе (пункт Добавить текущую базу данных). В этом случае могут быть заполнены все параметры подключения, кроме пароля пользователя.

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

Чтобы подключиться к базе, нажмите кнопку Подключиться, дважды щелкните по соответствующему узлу в дереве или нажмите ENTER. При подключении к базе программа подменяет папку шаблонов и папку вывода, заданные в настройках программы (Файл-Настройки) на папки, заданные в параметрах подключения. В заголовке главного окна вы увидите не имя файла базы данных, а имя подключения.

При подключении к базе можно сразу войти в Дизайнер. Если в базе настроено ограничение доступа, то в Дизайнер может войти только разработчик.

Подключение к БД

Как подключиться к серверу firebird. Смотреть фото Как подключиться к серверу firebird. Смотреть картинку Как подключиться к серверу firebird. Картинка про Как подключиться к серверу firebird. Фото Как подключиться к серверу firebird

Если база данных находится на этом компьютере, то сетевой путь будет таким:

Локальный путь к файлу базы данных может быть относительным (ссылки на родительские папки не допускаются):

Чтобы можно было работать по сети, на сервере должен быть установлен Firebird 2.5.

Из соображений безопасности пароль пользователя SYSDBA на сервере Firebird может быть изменен. О том как его изменить можно прочитать в Интернете.

По умолчанию порт Firebird равен 3050. Но его можно изменить. Для этого нужно отредактировать файл firebird.conf, который находится в папке Firebird (по умолчанию это c:\program files\firebird\firebird_2_5). Найдите строку RemoteServicePort, уберите символ решетки и поменяйте порт, например на 3051. Строка подключения будет такой, например:

Путь к базе данных может быть задан в виде псевдонима. Например:

Это делается для скрытия реального местоположения файла базы данных. Чтобы использовать псевдоним, найдите в папке установки Firebird файл aliases.conf. И добавьте в него строку, например:

Вход пользователя

Как подключиться к серверу firebird. Смотреть фото Как подключиться к серверу firebird. Смотреть картинку Как подключиться к серверу firebird. Картинка про Как подключиться к серверу firebird. Фото Как подключиться к серверу firebird Если в базе настроены пользователи, то при открытии базы появляется окно входа. Из списка выбирается пользователь и вводится пароль. Флажок «Монопольный режим» позволяет подключится к базе только одному пользователю. Всем остальным при подключении будет отказано в доступе. Этот режим может быть доступен не всем пользователям (настраивается отдельно для каждого пользователя). Если при входе программа обнаруживает, что такой пользователь уже вошел в базу, то, в зависимости от настроек, может разрешить или запретить вход.

Внимание. Разработчиком игнорируется монопольный режим. Т. е. он беспрепятственно войдет в систему, даже если кто-то из пользователей или сам разработчик вошел в монопольном режиме.

Это сделано для того, чтобы разработчик мог устранять «зависшие» подключения и снимать блокировки с записей в случае какого-либо сбоя на клиенте. При входе в монопольном режиме, если к базе есть подключения, разработчик получит предупреждение.

Редактирование данных

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

Внимание! Программа не проверяет изменения в таблицах.

Далее программа пытается заблокировать запись от случайного изменения другим пользователем. Если запись уже кем-то редактируется, то выдается предупреждение и запись открывается в режиме «Только просмотр» без возможности редактирования.

Механизм блокировки записей работает только в случае сетевого доступа к базе определенного пользователя (в базе настроены пользователи).

Монитор пользователей

При обрыве соединения с базой может остаться информация о входе и редактируемых записях пользователем. Программа при следующем запуске пытается автоматически убрать ошибочные сведения. Но, к сожалению, это не всегда удается. Из-за этого некоторые пользователи не смогут войти в базу или изменить некоторые записи. Если вместо IP-адреса вы видите пустую ячейку, значит клиент по каким-то причинам потерял связь с базой (если это не встроенный сервер). Вы можете удалить сведения вручную командой «Удалить». Если вы удаляете активного пользователя, то пользователь все равно продолжает работать. Удаляется только запись из служебной таблицы. На стабильность работы программы это не влияет, разве что станет возможным войти под этим пользователем еще кому-нибудь (если не установлена множественная авторизация). Если вы удалите активную блокировку записи, то запись станет доступной и другим пользователям. Это может привести к тому, что эту запись сможет редактировать и другой пользователь. В этом случае в базе сохранятся сведения пользователя, который позже сохранил запись.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *