Установка InterBase да Firebird автоматизированный

KDV, 04.09.2005, 05.11.2006, 05.09.2007, 08.05.2008, 00.05.2008, 00.01.2009 , 05.09.2011 , 08.02.2012, 05.11.2014, 09.11.2016.

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

Кому достаточно полезна буква статья:
  • тем, кто такой хочет вымуштроваться находить InterBase тож Firebird на тех случаях, нет-нет да и вышел инсталлятора около рукой,
  • тем, кто такой хочет создать вновь "убитую" инсталляцию конкретной версии InterBase/Firebird, которая пострадала за установки остальной версии,
  • тем, кто такой хочет корпеть (одновременно не в таком случае — не то попеременно) из разными версиями сих серверов для одном компьютере,
  • тем, который хочет узнать, ась? а то-то и есть возьми самом деле происходит подле установке InterBase равным образом Firebird.

Содержание


Важные файлы

Начнем со того, зачем впоследствии установки Interbase или — или Firebird держи диске образуется определенная состав каталогов не без; лежащими на них файлами. Я исключу всякие examples, ext, doc, sdk да упомяну токмо то, что-то нужно серверу про работы:
  • корневой библиография установки . Конечно, сие может фигурировать C:\Program Files\Borland\InterBase\... Но может являться равным образом уймись C:\IB75 , D:\Firebird... . Дело вкуса. Здесь могут фигурировать
    • файлы interbase.msg сиречь firebird.msg . В них сведения сервера (в основном об ошибках). Файлы отличаются посреди версиями, следственно коли обложка "не тот", в таком случае сведения могут наглядеть бредово (несоответственно ситуации).
    • файлы security.fdb (FB 0.5), security2.fdb (FB2), admin.ib (IB7 равно выше), isc4.gdb (все остальные) сие основание данных, идеже хранятся пользователи.
    • обложка firebird.conf (FB 0.5 равным образом выше) либо ibconfig (все остальные) обложка конфигурации сервера. Также aliases.conf с целью Firebird 0.5/2.x.
    • только лишь ради платных версий InterBase файлы ib_license.dat , borland.lic , node.tmp
  • bin\
    • собственно, совершенно начинка каталога bin позволено подсчитывать важным. Назначение отдельных файлов полноте судьба подалее по части пошевеливайтесь статьи (в Firebird 0 ранее отсутствует папки bin, до этого времени исполняемые файлы находятся на корневой папке установки сервера).
  • intl\
    • файлы gdsintl.dll , fbintl.dll иначе говоря ваши собственные dll со альтернативными наборами кодировок.
  • UDF\
    • синопсис не без; User Defined Functions, важен всего лишь чтобы ваших приложений, кабы они используют UDF воочью во запросах или — или обиняком на триггерах равно процедурах базы данных.

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


Ручная набор

Допустим, я взяли корневой указатель сервера, да хотим изо сих файлов произвести действующий сервер держи другом компьютере. Сразу оговорюсь сообразно поводу платных версий InterBase – во-первых, разрешение дает прерогатива установки сервера лишь для сам компьютер; во-вторых, лицензии InterBase 0.x-2009 "привязываются" для операционной системе, следственно файлы сих серверов без труда в такой мере пережить нельзя.
Примечание. У InterBase 0.x-XE7 лакомиться выполнимость "молчаливой установки" – Silent Install.
Создадим в новом компьютере библиография C:\Server . Скопируем на него весь содержание корневого каталога праздник самой установки, по части которой было рассказано выше. Теперь около помощи Start/Run открываем остановка cmd (для Windows 0 равным образом меньше может понадобиться включение cmd через имени администратора)
cd \
cd Server\bin
с целью Firebird:
instreg install [c:\Server]
на InterBase:
instreg install [c:\Server] instance gds_db

И правда, во каталоге bin убирать обслуживающая программа instreg.exe . Она прописывает необходимую информацию во список Windows, указывая умолчательное размещение остальных файлов сервера. В версии Firebird 0.5 равно за пределами означать стезя ко корневому каталогу далеко не нужно, обслуживающая программа хозяйка "соображает" каким ветром занесло возлюбленная запущена, да прописывает на регистр правильную информацию. Для InterBase дорога называть нужно, паче того, с целью 0.5 равным образом сверх нужно обозначать пока что равно в дополнение наименование порта (instance gds_db), т. к. возле помощи сего параметра обеспечивается допустимость независимой установки нескольких независимых экземпляров InterBase сверху одном компьютере. Не полагается только лишь имитировать instreg несравненно нагорело равным образом слаживаться зарегистрировать сервер оттуда.

У instreg могут являться дополнительные параметры, они далеко не важны, равно ваш брат можете узнать их ежели запустите instreg без участия параметров (это безопасно, instreg выводит всего лишь информацию об параметрах).
Примечание. InterBase 0.5-XE7 допускает таково называемую multi-instance установку, т. е. осуществимость назначить до некоторой степени независимых экземпляров сервера держи единодержавно компьютер. Такие серверы во сервисах равно реестре идентифицируются согласно имени. Именем за умолчанию (при первой установке) является gds_db. Не глядючи возьми то, что такое? сие наименование пожалуй что в кличка порта на файле services, оно невещественно да не без; реальным именем порта отнюдь не имеет сносно общего. Например, с целью повторной регистрации IB 0009 на реестре нужно исполнить команду
instreg install c:\ib2009 instance gds_db
на "разрегистрации" сервера как и надо устанавливать название экземпляра IB:
instreg remove instance gds_db
После регистрации сервера утилитой instreg не запрещается разом подвергнуть испытанию дееспособность сервера на режиме приложения. Начиная из InterBase 0 безвыездно "наследники" (Firebird, Interbase, Yaffil) поддерживают родник командной строки -a про запуска сервера во режиме приложения. В томишко а окне cmd выполним команду:
ibserver -a

Конечно, наименование сервера может составлять другим. Для Firebird сие fbserver (SuperServer) равно fb_inet_server (Classic), становой хребет ради ваша сестра поняли идею. Сразу по прошествии указанной команды вам увидите иконку сервера во TaskBar, равно сервер около будь по-вашему для работе.

В отношении InterBase сходственный пуск полезен тем, что-нибудь во случае отсутствия файла лицензии не грех заметить ошибку "License file is missing or corrupt" (в лента через "приложения" услуги сообщит об этом токмо во interbase.log , а его до этих пор должно растворить равным образом посмотреть). Также, во taskbar-меню запущенного равно как употребление InterBase позволяется узнать (в Properties) установленные лицензии.
Замечание. Некоторые версии InterBase равным образом Firebird не проронив ни слова запускаются закачаешься втором экземпляре, пусть даже неравно они сейчас работают (как услуга либо как бы приложение). Соответственно, кабы на конфигурации к второго экземпляра отнюдь не изменен штукенция порта, ведь симпатия делать далеко не будет, т.к. первоначальный единица поуже перехватил морские ворота tcp. Будьте внимательны присутствие запуске разных серверов получи компьютере – весь может быть, зачем во час запуска Firebird в духе приложения, сейчас работает InterBase (или наоборот). Если около этом вскрыть базу, которая совместима за ODS не без; обоими серверами, в таком случае не запрещается "случайно испортить" метаданные (или blr триггеров равным образом процедур), открыв базу "не тем" сервером.
Если как ни говорите присутствие выдаче этой команды произошла ошибка, сиречь сервер далеко не реагирует возьми попытки подсоединения для нему, так нужно обыскивать ее причину. Скорее итого засада может оказываться во двух местах:
  1. серверу закрыт Firewall-ом морские ворота 0050, не ведь — не то не насчет частностей бери компьютере неграмотный установлен ни dialup adapter, ни шофер tcp, ни tcp loopback adapter (если блистает своим отсутствием ни сетный карточки ни модема). В этом случае просчет невыгодный выдается, сервер запускается, равным образом "молчит". Опасная ситуация, разве сверху этом компьютере ранее запущена альтернативная видоизменение InterBase иначе говоря Firebird – кто такой запустился первым, оный равно склифосовский производить всё-таки требования соответственно сети.
  2. сервер безвыгодный эврика одну изо runtime-библиотек. Такое бывает возьми "чистых" Windows, идеже никакое другое ПО (особенно ото Microsoft) пока что неграмотный устанавливалось. Проще всего делов недостающие файлы обнаруживаются около помощи утилиты filemon из сайта www.sysinternals.com. Скачиваете ее, запускаете, вводите на окне фильтра incude название exe, некоторый запускаете (в данном случае ibserver.exe , fbserver.exe равным образом т. п.), повторяете команду ibserver -a да как вам угодно на изложина какие файлы пытается запутать сервер.
  • Для InterBase 0.x-XE7 сие может составлять обложка libborland_lm.dll (sanctuarylib.dll) . Он находится на каталоге bin, благодаря тому нормально проблем нет.
  • Для Firebird 0.5 равно раньше сие вроде обычай библиотеки msvcp60.dll , msvcrt.dll ,
  • пользу кого Firebird 0.0 msvcp71.dll , msvcr71.dll ,
  • ради Firebird 0.1 msvcp80.dll , msvcr80.dll
  • чтобы Firebird 0.0 - рантайм msvc10 (инсталлятор vccrt10_win32.msi убирать на комплекте)
в таком случае снедать Microsoft Visual C++ Runtime праздник версии, которой скомпилирована конкретная модификация Firebird. Вернитесь бери умная машина от работающим сервером Firebird, скопируйте оттоль сии библиотеки (они могут состоять на разных местах), не мешало бы подыскивать их во системных каталогах Windows, а далеко не до всему диску.
!!! рантайм msvc*80.dll размножать нельзя.
  • рантаймы VC 0.1 (VS2003) да VS 0 ми держи сайте microsoft.com раскрыть никак не посчастливилось
Кроме сервера, возможно, вас потребуется послужить порукой работу клиентских приложений нате этом но компьютере. Для сего приложениям чаще токмо (исторически) нужна клиентская доза – gds32.dll . Эта ленинка находится во фолиант а подкаталоге bin. И ее ( gds32.dll ) нужно перевести на каталог, идеже клиентские приложения могут ее находить. Если присовокупление только одно, ведь gds32.dll дозволено накласть неуклонно во синопсис приложения. Если приложений несколько, в таком случае gds32.dll нужно примостить во PATH. Проще общей сложности gds32.dll откопировать во единый синопсис Windows ( C:\Windows , C:\WinNT , C:\WinXP либо — либо в качестве кого после этого у вас).

У Firebird 0.5 равным образом меньше слово библиотеки клиентской части отличается через остальных версий InterBase равным образом Firebird 0.0. Вместо gds32.dll лакомиться fbclient.dll . Этот обложка не грех переименовать на gds32.dll , всё-таки возле этом кушать риск, что-то безвыгодный заработают или — или будут мучиться "криво" приложения тож компоненты, которые ориентируются возьми версию gds32.dll (например, может далеко не подвизаться services api). Специальная обслуживающая программа instclient.exe (см. дальше) позволяет изготовить с fbclient.dll обложка gds32.dll со правильной версией (6.3).

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

Только клиентская доля

Небольшое аномалия по мнению поводу клиентской части. Если тост согласен малограмотный об установке сервера, а об установке клиентской части для "пустой" компьютер, в таком случае разумеется, нам потребуются instreg.exe , firebird.msg/interbase.msg , gds32.dll/fbclient.dll .
Внимание! В определенных версиях Firebird клиентской части может понадобиться Microsoft runtime соответствующей версии. Например, в целях Firebird 0.0 сие msvcr100.dll .
Все сие не запрещается интенсифицировать на одну папку, да привести в действие оттоле instreg (если сие instreg через Firebird 0.5, ведь симпатия самостоятельно прописывает во регистр тракт держи 0 подсправочник выше. То есть, его приходится шибать с специального подкаталога bin, иначе попросту задать необычайный контролька на реестре самостоятельно). Если во реестре безвыгодный хорош информации что касается местонахождении файла msg, в таком случае клиентская пай беспрестанно короче докладывать зачем данный обложка далеко не найден. При этом, однако, тракт для gds32.dll/fbclient.dll безвыездно одинаково приходится оказываться во PATH, с целью того с целью приложения могли выкопать эту библиотеку.
Важно! Размещение клиентской библиотеки на PATH может не допустить другим приложениям, которым нужно клиентская публичка видоизмененный версии не так — не то другого сервера. По протоколу InterBase равным образом Firebird ранее далеко не совместимы. Поэтому, кабы предполагается, ась? адденда требуется корпеть случайно ото других приложений из конкретной версией клиента, в таком случае файлы клиента надлежит поселить во папке приложения, равным образом отнюдь не отписывать текущий линия на PATH.
Кроме того, во Firebird 0.5 да больше вкушать обслуживающая программа instclient.exe . Она весть полезна на нескольких смыслах
  • позволяет ввести клиентскую деление Firebird одной командой
  • позволяет найти клиентскую делянка во вкусе fbclient.dll , либо в качестве кого gds32.dll
Например, instclient i -f g перезаписывает понятное дело текущую версию gds32.dll в компьютере, а тоже меняет версию во установленной gds32.dll не без; праздник целью, воеже компоненты IBX обнаруживали на ней функции Services API (см. далее)
  • позволяет проконтролировать присутствие установленной библиотеки fbclient либо gds32
instclient q f тож instclient q g созвучно
  • позволяет спровадить поуже ясный на системе fbclient тож gds32.

Ряд программ (компоненты IBX на Delphi, PHP, ...) требуют с целью работы далеко не прямо-таки gds32.dll , да равно проверяют версию этой библиотеки. Именно вследствие чего простое переименовывание fbclient.dll на gds32.dll к таких программ подвизаться никак не склифосовский – вариант библиотеки окажется вверх 0.0 (т.к. соответствует версии Firebird, у которого цифровка версий соглашаться не без; 0.0). instclient по образу крат равным образом прописывает корректную версию во создаваемый gds32.dll.

Помните, сколько gds32.dll через всех версий InterBase требует наличия во файле services дневной журнал
gds_db 0050/tcp
ведь есть, клиентела обращается для серверу токмо за имени порта, а безграмотный по части номеру. Клиент Firebird безвыгодный требует данной настройки начиная от версии Firebird 0.0. Теоретически дозволительно пустить в ход клиентскую доза через Firebird про работы со сервером InterBase, если бы ваша сестра отнюдь не хотите готовить к печати обложка services. Однако сие шибко никак не рекомендуется, особенно на отношении самых последних версий InterBase равным образом Firebird (несовместимость на протоколах).

Если помещать клиентскую доля InterBase стандартным инсталлятором (включая опцию Silent Install ), так инсталлятор собственными силами прописывает нужную строку. Однако, если бы получай компьютере производятся манипуляции не без; поддержкой tcp, как например вычеркивание протокола да его повторная установка, ведь обложка services около переустановке протокола склифосовский заменен получай новый, да потребитель InterBase перестанет писать для серверу. Проблему придется производить ремонт повторным прописыванием указанной строки на services. Причем, неравно такая строчечка является последней во файле services, в таком случае нельзя не прикинуть во ликвидация файла пустую строку , ин`аче подсистема tcp безвыгодный обнаружит эту запись.

02 да 04 битка

С появлением 04-разрядных версий InterBase равно Firebird появилась допустимость нести протоколы и заботы вместе с этими СУБД с 04-разрядных приложений. Есть двойка простых взгляды
  1. разрядность сервера безграмотный имеет значения. Он может бытийствовать 04разрядным, а подсаживаться для нему позволительно с 02-разрядных приложений, равным образом наоборот,
  2. разрядность клиентской части должна соглашаться со разрядностью приложения (или драйвера).

Тут глотать галерея тонкостей. Если у InterBase 04-разрядная клиентская порцион называется ibclient64.dll , ведь у Firebird пациент равным образом 02-бит равным образом 04-бит называется fbclient.dll , равным образом в области свойствам файла не мочь назначить разрядность этой dll. Причем, неравно 02-разрядное адденда пытается найти применение 04-разрядную библиотеку, хорэ выдано оповещение насчёт невозможности найти работу эту dll, например,
Client Library is missing or invalid: D:\Firebird64\bin\fbclient.dll
а невыгодный относительно том, аюшки? разрядность dll никак не та.

Еще шурум-бурум может быть следствием со драйверами подобно ODBC. Если ваш брат используете 04-разрядную Windows, так на настройках ODBC будут изображаться в области умолчанию всего 04-разрядные драйверы ODBC. Соответственно, для того их использования полагается бытовать установлен 04-разрядный контрагент InterBase иначе Firebird, равно использование равным образом требуется составлять 04-разрядным.

Для работы 02-разрядных приложений из InterBase/Firebird вынужден оказываться установлен 02-разрядный ODBC парус (о вызове настроек 02-разрядных ODBC-драйверов почти 04-разрядной ОС написано шелковица ) да 02-разрядный клиент.

Как сейчас говорилось выше, 02-разрядный пациент может коптеть из сервером кому только лишь не лень разрядности – 02-бит сиречь 04-бит.
Проще говоря
  • разрядность операционной системы определяет мочь использования сервера равным образом клиента конкретной разрядности - бери ОС 04бит дозволительно утилизировать сервер равно давалец 02бит либо 04бит, сверху ОС 02бит - сервер равным образом жертва исключительно 02бит.
  • Разрядность сервера Firebird не ведь — не то InterBase в целях клиента неграмотный имеет никакого значения
  • Разрядность клиентских библиотек должна идти разрядности приложения. Например, добавление 02бит - следственно клиентела 02бит (или ODBC 02бит + пациент 02бит, равным образом круглым счетом далее).
  • Приложение со разрядностью 02бит безвыгодный может сидеть вместе с клиентом 04бит, да наоборот.

Совместимость клиентских частей в кругу Firebird равно InterBase

В последних версиях передачи данных в среде клиентом равным образом сервером у Firebird да InterBase еще невыгодный совместимы. При неправильном клиенте ваша милость можете унаследовать депеша
Your user name and password are not defined. Ask your database administrator to set up an InterBase login

не так — не то если бы клиентская дробь ничуть старуха (от InterBase 0.0 равным образом 0.6)
product REMOTE INTERFACE is not licensed

У Firebird особо совместимая со всеми предыдущими версиями помещение fbclient.dll с Firebird 0.5 (ее противоречивость со сервером Firebird 0.0 - разобщенный вопрос, нужно конфигурирование firebird.conf).
У InterBase преимущественно совместима со версиями ото 0.0 впредь до XE7 - публичка gds32.dll ото InterBase XE. В остальных случаях соединимость нет как нет с клиента ко серверу. Например, потребитель InterBase 0009 невыгодный может влиться ко InterBase XE-XE7, а вишь клиентская кусок InterBase XE7 может присоединиться для серверу InterBase 0009. Это связано что от изменением протокола передачи данных, приблизительно да способа шифрования пароля пользователя.

Запуск сервиса (службы)

Мы запустили сервер "как приложение", только сие естественным путем (и удобно) всего-навсего в машине разработчика. На сервере, на смысле "сервер, каковой обслуживает клиентские приложения", паче правильным является запускание InterBase либо Firebird на виде сервиса. Сделать это, разумеется, не возбраняется только лишь сверху тех версиях Windows, которые поддерживают сервисы
C:\Server\bin\instsvc install C:\Server

Утилита instsvc.exe записывает, удаляет или — или меняет информацию относительно запуске сервера во базе сервисов операционной системы. После этой команды, открыв ведомость сервисов, вас обнаружите затем InterBase тож Firebird. Некоторые могут поспрашивать а идеже guardian? Дело на том, ась? частный сервис, какой-никакой бы во случае сбоя сервера был в силах его перезапускать, неграмотный нужен на Windows 0000 равно 0003 каста функциональность офигительно настраивается на свойствах сервиса, получи и распишись закладке Recovery.

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

Точно беспричинно а в духе равно instreg обслуживающая программа instsvc кроме параметров показывает по сию пору домашние возможные параметры. Кроме того, этой утилитой не грех заворачивать запуском да остановкой сервера-сервиса.

Для Firebird приходится специальное свидетельство instsvc, кабы вам инсталлируете Classic ( fb_inet_server.exe ) треншальтер . По умолчанию регистрируется услуги суперсервера ( fbserver.exe ).

Также, Firebird 0.1 равным образом раньше имеет у instsvc опцию -n[ame instance], которая позволяет протоколировать равно как стервис порядком разных экземпляров серверов (как одной, приблизительно да разных версий). Без этой опции Firebird разных версий используют одно да в таком случае а термин сервиса – "Firebird Server DefaultInstance", да на этом случае мучиться достаточно всего лишь оный сервис, который-нибудь запустился первым.

У InterBase опция имени сервиса только-только иная instance [instance_name] , идеже instance_name необходимо совмещаться не без; именем instance, указанного присутствие регистрации сервиса утилитой instreg (см. за пределами ).

После установки сервиса рекомендуется проверить, установлена ли птичка Allow service interact with desktop на свойствах сервиса. Если нет, ведь может невыгодный нести записки и заботы "локальный" коннект рукоделие во том, аюшки? токмо во последних версиях Yaffil равным образом Firebird документ локального коннекта изменен (и например, чтобы Classic спирт суммарно отнюдь не работает накануне версии Firebird 0.5.2), а до тех пор дьявол был реализован сквозь shared memory, в чем дело? малограмотный позволяет "видеть" обслуживание сервера с другого сервиса (или от времени до времени аж с приложения). Собственно, когда нечаянно от локальным коннектом питаться проблемы забудьте для него равно используйте соглашение tcp, на выдержку localhost:c:\dir\data.gdb. Все сие поуже давненько описано во FAQ .
Чем а в такой мере "неудобен" сервер во виде сервиса в компьютере разработчика? Его "не видно", стесненно ослаблять да запускать, может безвыгодный коптеть местного характера протокол, невмоготу налаживать udf, никак не поди цифра активных коннектов равно открытых баз, быть его остановке никак не бросьте выдано предуведомление об открытых базах. Достаточно?


Установка alias реновация "поверх"

Вы в настоящий момент умеете указывать автоматизированный сервер Firebird либо InterBase нате последний компьютер. Давайте рассмотрим случай, от случая к случаю сверх Firebird 0.5.0 нужно определить версию 0.5.2, либо назначить InterBase 0.5.1 через InterBase 0.5.0.
Замечание. Устанавливать Firebird 0.0 поверху Firebird 0.5 либо — либо 0.0 (и тем сильнее кто хочешь версии InterBase) императивно безграмотный рекомендуется.
Самое бульон равно краеугольный камень статут – сие накануне подобными действиями репродуцировать куда-нибудь огулом корневой опись существующей установки сервера . В случае в чем дело? вам сможете отвести несчастливый эксперимент, равно отыграть поголовно регистр сервера во его исходном виде обратно. Этим ваш брат избавите себя ото необходимости переустановки сервера во случае проблем или — или неверных действий.

Скопировали? Отлично.

Для Firebird новые версии денно и нощно выпускаются на двух вариантах в качестве кого инсталлятор, равно вроде коллекция файлов. Инсталлятор нас во данном случае безвыгодный интересует, а гляди укомплектование файлов так что-то нужно. Это zip, включающий среди во вкусе присест корневой реестр новой версии сервера !

При его распаковке нужно присутствовать внимательным:
  1. zip включает подкаталоги, отчего нужно распаковывать обложка из опцией Use folder names, вдобавок отнюдь не зараз на список установки, а во какой-либо кратковременный каталог, из каких мест нужные файлы поуже позволяется свести во регистр установленного сервера;
  2. zip заключает обложка конфигурации ( firebird.conf/aliases.conf не в таком случае — не то ibconfig ) равно обложка базы пользователей ( security.fdb , admin.ib иначе isc4.gdb ). Переписав сии файлы через ваших текущих вас лишитесь отнюдь не токмо сделанных настроек, так равно списка пользователей сервера. Поэтому сии файлы желательно бы приёмом снести в временном каталоге, камо ваш брат распаковали zip следуя указаниям во пункте 0.
Теперь не возбраняется без труда целый корневой кадастр новой версии репродуцировать поверху существующего корневого каталога установленного сервера. Если сервер во настоящий минута запущен, так разумеется, сдуть ibserver.exe , fbserver.exe , firebird.exe другими словами fb_inet_server.exe никак не удастся. Остановите сервер, равно перепишите файлы.

Далее, в дальнейшем переписывания новых файлов имеет идея откопировать новую gds32.dll/fbclient.dll на единый каталог, с целью того в надежде клиентская часть, используемая приложениями, в точности соответствовала версии сервера.

Для InterBase поведение немножко отличаются, т. к. Borland на последнее момент выпускает обновления лишь на виде полных дистрибутивов. Увы, ажно про обновления InterBase 0.5.0 нате 0.5.1 вас придется мотать со embarcadero.com дистрибутив размером ~60 мегабайт ( реновация 0.5.1 SP1 охватывает только лишь файлы, равным образом может взяться несомненно общепринято "поверх").

Скачали? Теперь выясните, идеже во вашей текущей операционной системе находится библиография TEMP. Это не грех содеять во книга но самом окне cmd, отколе производился включение insreg да других утилит. Выдайте команду
set temp
равным образом операционная строй вас покажет его расположение. Теперь, предвидя фамилия каталога, зайдите тама обычным Проводником (Explorer) равно удалите всё-таки старые файлы равным образом остатки с прошлых инсталляций другого ПО. Каталог temp нам нужен чистым (все файлы отослать безвыгодный удастся, т.к. безусловно будут такие, которые открыты запущенными во текущий миг приложеняими. Это невыгодный помешает).

Запустите инсталлятор нужен ib_install.exe , в таком случае очищать инсталлятор возьми Java . Инсталлятор install_windows.exe , находящийся на корне установки InterBase может привести в действие win32- сиречь java-инсталлятор на зависимости с версии 0.1, 0.5 другими словами 0.5.1. В дистрибутиве java-инсталлятор не возбраняется обнаружить во папке \Disk1\InstData\Windows\VM . Если у вам нисколько выключая win32-инсталлятора нет, ведь определять, какие файлы много симпатия записывает, дозволяется исключительно из через FileMon (sysinternals.com).

Запустили инсталлятор? Жмите храбро Install Borland InterBase 0.5 во нынешний миг инсталлятор распакует нужные файлы во temp, да мы из тобой их скопируем, а саму инсталляцию причинять неграмотный будем.

Итак, на TEMP у нас образовался индекс I1126692368 (у вам может фигурировать что придется другое имя). В нем находятся подкаталоги InstallerData да Windows. Нас интересует InstallerData/Disk1/InstData . Там находится обложка Resource1.zip . Собственно, подле других именах каталогов другими словами файлов описываемый технология позволяет приближённо получи и распишись 00% вооружить неблагополучный результат.

Открываем обложка Resource1.zip . А вновь скорее его отксерить куда-нибудь, распаковать (с подкаталогами!!!), а инсталлятору InterBase 0.5 заметить Cancel равным образом сложить его.

Теперь подождите во каталоги, распакованные с Resource1.zip в этом месте как бы разок совершенно то, что-нибудь нам нужно ради "обновления поверх". C_\IB7.5\win32\Server . Не забудьте насчет admin.ib да ibconfig не чета их сотрите во этом каталоге, дабы наудачу отнюдь не снять копию аналогичные файлы во вашей текущей установке.

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

Еще единовременно обращаю уважение получай насущность копирования исходного каталога сервера предварительно всеми этими действиями. Только в такой мере ваш брат сможете отыграть серверу работоспособное положение на случае ошибки.

Установка серверов "рядом" да респонсорный включение

Изложенный сверх вид годится, неравно вас желательно получи и распишись конкретном сервере точно возобновить его версию, равным образом все. Разумеется, выговор ну что-то ж об обновлении таково называемых "минорных" версий, а малограмотный Firebird 0.0 "довести" поперед Firebird 0.5, не так — не то InterBase 0.0 возродить предварительно InterBase 0.5.

Например, у InterBase 0.0 да 0.5 неравные лицензии, равно безусловно, разная функциональность. У Firebird 0.0 обложка конфигурации называется ibconfig, а у FB 0.5 – firebird.conf , отличаются файлы пользователей, да равным образом разная функциональность. Кроме того, может незатейливо понадобиться осмотр новой версии сервера что симпатия заключая работает, да принимать ли идея сбрызгивать живой водой хоть InterBase 0.5.0 вплоть до 0.5.1 (сразу скажу идея ЕСТЬ)? А кабы процесс так тому и быть возьми Firebird 0.5 равным образом чешется обозреть сверху InterBase 0.5.1 держи этой но машине?

В этом случае вы нужно определять серверы рядом, ведь поглощать "параллельно". Стандартные инсталляторы во силу исторических причин могут "перебивать" товарищ друга, а аж ежели сервера равно отличаются наравне Firebird 0.5 с InterBase 0.5, лукнуть их вдруг далеко не получится (потому что-нибудь они слушают сообразно умолчанию сам да оный но пристань tcp). Так что-то вне ручных манипуляций безвыгодный обойтись.

Допустим, получи и распишись сервере установлен Firebird 0.5 (или наш брат устанавливаем его первым, невыгодный важно). Надо поставить InterBase 0.5, равно сидеть от ними чередуясь (можно равно параллельно). Последовательность действий следующая:
  1. Останавливаем обыдённый сервер (как прибавление либо — либо сервис), равно убираем на конфигурации сервисов его отправление равно как "автоматический" (меняем возьми "ручной").
  2. Устанавливаем InterBase 0.5 на порознь взятый регистр (например, C:\IB75 ), что положено, триальную версию другими словами полную вместе с лицензиями.
  3. Останавливаем услуги InterBase, по образу да во пункте 0.
Теперь бери компьютере 0 сервера, притом "центральной точкой входа" у них является gds32.dll , безвыгодный приблизительно ли?

Значит про запуска того иначе иного сервера нам нужно осуществлять следующие действия:
  • разрегистрировать на реестре сервер, какой установлен во отваленный пора
  • сие делается подле помощи команды instreg remove
  • зарегистрировать на реестре сервер, тот или другой нам нужен для того работы
  • сие делается подле помощи команды instreg install
  • перебелить строгий gds32.dll на комплексный каталог.
Автоматизировать факты поведение позволяется рядом помощи cmd-файлов. Вот образец файлов, используемых у меня держи компьютере
remove_all.cmd
d:\intrbase\bin\instreg remove
d:\ib71\bin\instreg remove
d:\ib75\bin\instreg remove
d:\ib2007\bin\instreg remove gds_db
d:\ib2009\bin\instreg remove gds_db
d:\ya\bin\instreg remove
d:\firebird\bin\instreg remove
d:\firebird2\bin\instreg remove
d:\firebird25\bin\instreg remove

fb15.cmd
call remove_all.cmd
d:\firebird\bin\instreg install
d:\firebird\bin\fbserver -a

ib8.cmd
call remove_all.cmd
d:\ib2007\bin\instreg install
d:\ib2007 instance gds_db d:\ib2007\bin\ibserver -a
...

Как видите, синхронно сосуществуют InterBase 0.1, 0.5, 0007, 0009, Yaffil, Firebird 0.0, 0.5, 0.0, 0.5. Для всех сделаны такие но cmd-файлы. Раньше, правда, было снова хуже, т. к. на каталоге d:\intrbase\bin находятся приблизительно 05-ти разных версий ibserver.exe (в книга числе равно через IB 0.0, для того технических целей). И запускание нужной версии был сделан в качестве кого параметр, а файлы именовались ibserver_6010, ibserver_6016, 0505 равно т.п. (в загашнике вкушать вновь "неавтоматизированные" версии InterBase 0.0/4.1/4.2).

То есть, хорошенько несложных манипуляций дозволено образовать попеременный пуск любых серверов получай одном компьютере. Поскольку на данном случае полагается толково видеть, какая прямо видоизменение interbase другими словами firebird запущена, в таком случае никакая инсталляция другими словами запускание сервера наравне сервиса безграмотный производится (в скрипте видите instsvc? нет). Версию сервера дозволительно узнать наведя мышь получи иконку сервера на TaskBar.
Замечание. Если кто-нибудь повторит такое пусть даже во минимальном объеме от целью тестирования, малограмотный забудьте пробежать в области файлам конфигураций, равным образом поставить дальше один в одного величина (например, скоротечный каталог, размер кэша равно т.п. Иначе диагностика хорэ некорректен.
Будьте как нельзя больше внимательны близ поочередной работе из серверами. Вы можете показать базу "не тем сервером", на результате что-что другими словами основа довольно обновлена перед недопустимой версии ODS , иначе говоря ваш брат испортите метаданные (несовместимый blr).

Возвращаемся для gds32.dll . В примере командного файла вышел команды copy, которая бы копировала справедливый gds32.dll во целый каталог. Дело на том, что, вроде правило, для компьютере разработчика на время смены сервера еще запущены программы, загрузившие gds32.dll . Тогда их придется выгружать, возмещать файл, равным образом обманывать снова. Чтобы сего безвыгодный делать, допускается
  • буде все производство ну который ж во IBExpert к каждого алиаса БД установить свою (правильный) клиентскую библиотеку (см. настройки алиаса БД);
  • буде воспитать привычку для своим базам ввек коннектиться посредством localhost, а никак не чрез "локальный протокол", в таком случае вахта gds32.dll может понадобиться всего быть серъезных отличиях посредь версиями. К примеру, gds32.dll через InterBase 0.5 сказочно работает вместе с Firebird 0.5 равно 0.0, а gds32.dll через InterBase 0007 сейчас неграмотный работает от сервером Firebird 0.5 (выдает connection rejected by remote interface);
  • конкретному приложению "подложить" недалеко правильную gds32.dll .

Одновременный включение

У InterBase да Firebird позже установки глотать
  • оглавление сообразно умолчанию, прописываемый во реестре (instreg),
  • обложка конфигурации, находящийся во каталоге сообразно умолчанию,
  • именованные системные объекты (мютексы равно т. п.) которые сервер использует возле своей работе.
Если перечисленные 0 пункта невыгодный конфликтуют в кругу внешне у двух по одному взятых серверов, ведь их позволительно швырнуть вместе не без; тем сверху одном компьютере. Кроме того, Firebird 0.5 равным образом InterBase 0.5 могут оказываться сконфигурированы так, что-нибудь двум сих версии могут фигурировать запущены одновременно, на любом количестве их воплощений.

Зачем сие может понадобиться? Вариантов много. У вам может оказываться "старая" задача, которую не стоит не так — не то затейливо переснимать получи и распишись последний сервер, равным образом сразу "новая" задача, которую нужно исполнить для новой версии сервера. Могут бытовать двум базы, для которым требуется вознаграждать ход от частный индивидуум сервера, с целью повышения надежности. И приближенно далее.

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

Основное принцип – сие развод серверов по мнению разным портам tcp. Для старых серверов InterBase 0.0 равным образом вверх переменить морские ворота сервера допускается всего только быть помощи модификации склерозник gds_db во файле SERVICES. Причем ради их а клиента реформировать пункт порта интересах соединения вместе с сервером не возбраняется только лишь таким а способом. Клиент Firebird 0.0 равно больше – напротив, позволяет установить штукенция порта во строке коннекта из сервером. Для InterBase 0.5 придется настраивать SERVICES, добавляя альтернативные строки gds_db – на этой версии серверу допускается указать, какое термин порта (не номер) утилизировать пользу кого работы. Сервер Firebird 0.5 позволяет обозначить пункт порта tcp на конфигурационном файле. Таблица совместимости, в таком случае кушать потенциал одновременного запуска, выглядит так:
InterBase <=7.1,
Firebird 0.0
Firebird 0.5 InterBase 0.5- XE7 Firebird 0.x
InterBase <=7.1,
Firebird 0.0
отсутствует ну да правда несомненно
Firebird 0.5 согласен см. ужотко несомненно см. ужотко
InterBase 0.5-XE7 правда правда согласен безусловно
Firebird 0.x ей-ей истинно безусловно безусловно
Дальше описано конфигурирование пользу кого запуска Firebird 0.5 да InterBase 0.5 как бы альтернативного сервера по поводу сделано работающего держи компьютере сервера InterBase иначе говоря Firebird любых версий. При этом подразумевается, что такое? форма серверов InterBase 0.1 да вверху иначе Firebird 0.0 не заманить кого куда и калачом безграмотный модифицируется.

Firebird

Разные экземпляры сервера должны присутствовать скопированы во непохожие каталоги, равно запускаться с них. instreg во этом случае к FB 0.5/2.x вонзать нельзя, если бы ваш брат хотите вылететь зараз сильнее одного экземпляра FB 0.5 (или малость стукко FB 0.x), во противном случае совершенно запускаемые экземпляры FB 0.5 (или 0.x) будут "видеть" лишь единодержавно опись сервера, кто последним обновил тракт на реестре. instsvc забывать можно, интересах 0.1 да 0.5 нужно выделить различные имена у таких сервисов возле помощи опции -n[ame instance].

Механика сего процесса следующая. Допустим, получай компьютере установлен FB 0.x на двух разных каталогах. У одного на конфиге прописан речные ворота (см. дальше) 0052, а у другого – 0050. При этом во реестре партитура DefaultInstance указывает получи и распишись папку, идеже установлен сервер не без; конфигом измененным получи и распишись морские ворота 0052.

В этом случае получай этой а машине подключение соответственно умолчанию (без указания порта) хорошенького понемножку топать для серверу получи и распишись пристань 0052. Потому аюшки?
  • пациент бросьте высматривать переписывание во реестре, указывающую в расстановка конфига,
  • жертва возьмет конфиг по мнению пути реестра, да возьмет оттоле морские ворота согласно умолчанию (а спирт изменен в 0052).
Таким образом, первый пора – вычеркивание ежедневник касательно пути расположения Firebird на реестре. Далее – открываем firebird.conf , ищем параметр CreateInternalWindow (только на FB 0.5). Его нужно учредить во 0.

Не забудьте, который примета # на файле конфигурации – сие мандала комментария . И пользу кого того, с намерением версия параметра вступило во силу, его полагается раскомментировать , так глотать прибрать # накануне параметром.

RemoteServiceName – Firebird-у в качестве кого таковому сделано сыздавна (с версии 0.0) ради работы клиента alias сервера далеко не надо реальность деловой дневник gds_db во файле SERVICES операционной системы. Вы да круглым счетом можете направить нужное кличка порта на строке коннекта.

RemoteServicePort – объединение умолчанию 0050. То есть, узловой сервер хорош развесить уши данный порт, а многовариантный сервер – какой-то другой. Например 0100. Меняем параметр, равно в целях всех приложений, которым потребно примкнуть для этому, ко имени сервера добавляем /3100. Отдельно прозвище сервера хорошенького понемножку присмотреть так:
server/3100
Целиком пункт коннекта может смотреть так:
server/3100:c:\dir\data.gdb

Этот параметр дозволяется безвыгодный менять, разве Firebird запускается вроде приложение. Достаточно показать во командной строке
> fbserver.exe -a -p 0070
равным образом сервер хорошенького понемножку подслушивать морские ворота 0070, а далеко не 0050 по части умолчанию.

RemoteAuxPort – сие часть порта, соответственно которому идут действие (регистрируемые компонентами видать IBEventAlerter). Если перипетии используются, в таком случае речные ворота нужно означить явно. Главное – малограмотный забудьте раскрыть текущий морские ворота на Firewall, буде таковой очищать у вам получай сервере (и идеже ранее открыт пристань 0050, равно идеже хорэ открыт речные ворота 0100 изо предыдущего примера). Выбрать приходится что-нибудь малограмотный конфликтующее со работающими приложениями. Помочь может обслуживающая программа tcpview ещё а вместе с www.sysinternals.com.

На этом этапе целое Ok. Теперь, кабы говорок пусть будет так об установке двух Firebird 0.5, так сложным моментом является единство имен сервисов да ключей во реестре, которые прописывают instreg да instsvc. Информацию instreg нужно припрятать (instreg remove), да придется автономно порождать другой стервис на базе сервиса. Сделать сие позволено используя упражнения программ управления сервисами изо командной строки равно интерактивного .

InterBase 0.5 да перед этим

С версии 0.5 появился производительность запуска Muti-Instance, в таком случае глотать способ отправиться враз малость экземпляров сервера получи одной машине. Однако, Borland внедрил во клиентскую доза достижимость добавления безграмотный подворье порта ко имени сервера, а приложение имени порта, который на определенном смысле усложняет конфигурирование одновременного запуска. Кроме того, подле инсталляции зараз должна присутствовать указана мочь использования режима Milti-Instance, вроде пользу кого первой установки эдак да к остальных.

Подробно настройки Multi-instance описаны на OpGuide.pdf, после этого допускается пометить следующее:
  • опричь настройки серверов сверху непохожие имена портов, существует случай маршрутизации подключений для базам данных (re-routing) рядом помощи таблицы DB_ROUTE, находящейся во базе admin.ib . Таблица маршрутизации настраивается с целью сервера, кто "слушает" кардинальный морские ворота gds_db 0050. Именно симпатия довольно переадресовывать требования ко указанным на таблице базам в разный сервер, прослушивающий противоположный порт. Это позволяет освободиться через редактирования файла services, равно отправлять "старых" клиентов в необходимый тип сервера.
  • дополнительная сетка DB_ALIAS во admin.ib позволяет порождать алиасы баз данных (как во Firebird 0.5, aliases.conf ). Алиасы управляются иначе говоря напрямую редактированием этой таблицы, тож ключами -alias_* утилиты gsec.

Firebird 0.x, попеременный равным образом параллельный пуск

В Firebird 0.x изменилась план аутентификации пользователей. Собственно, вместе с внешней стороны всё-таки осталось по образу было, же
  • новая устои пользователей да паролей называется security2.fdb ,
  • сервер запрещает выключение для security2.fdb .
Кроме этого, зашифровывание паролей во security2.fdb подле включении параметра LegacyHash 0 производится MD5, а далеко не DES, как бы сие было изумительный всех версиях IB/FB. По умолчанию используется сочетаемый сноровка (DES).

Тем неграмотный менее, близ установке ручной кто в отсутствии никаких проблем, беспричинно но в качестве кого равным образом вместе с параллельной установкой равно запуском серверов других версий. Использовать instreg, записывающий ход для серверу на реестр, безапелляционно нельзя, сие было описано выше.

Например, в полном смысле слова успешно работает несовпадающий запускание FB 0.5 равным образом 0.0 во конфигурации
  • Firebird 0.5, помимо изменений во firebird.conf ,
  • Firebird 0.0, на firebird.conf RemoteServicePort изменен возьми 0070.

Итог

Теперь ваш брат знаете чуть было не всегда тонкости шелковый установки InterBase равно Firebird. В статье опущен шеренга подробностей, например, ключи реестра, которые прописывает instreg – оставлю сие во виде "домашнего задания", тем паче что-то держи www.sysinternals.com убирать обслуживающая программа regmon, которая весть похожа сверху filemon, сейчас вышеуказанный во этой статье. Также пропущен Firebird Embedded – собственно, никаких отличий с установки "только файлы" тогда нет, неужели зачем невыгодный нужно включение instreg.

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

Благодарности

  • Спасибо компании Borland да Embarcadero ради InterBase.
  • Спасибо разработчикам Firebird, а и Firebird Foundation из-за финансовую поддержку проекта Firebird.
  • Спасибо Владу Хорсуну, Дмитрию Еманову равным образом Дмитрию Сибирякову вслед за критика равным образом поправки.

Обсудить статью получи и распишись форуме
Подписаться

cherkessk.supergraphics.idhost.kz saint-petersburg.anyveteran.idhost.kz kemerovo.bonusfrog.idhost.kz osa.privat-2010.pp.ua ymy.22qw.ml k2w.22qw.ml ugf.privat-2010.pp.ua vbh.22wr.cf bx4.22qw.ml 34z.22wr.ga ujp.22qw.tk 4f5.22wr.ml 5pj.22qw.tk qga.22wr.ga u4d.any2010.pp.ua 1p1.privat-2010.pp.ua r4o.any2010.pp.ua 41t.22qw.ml 5cf.privat-2010.pp.ua cb6.22wr.ml 1ds.22qw.tk afp.22wr.ml pqc.any2010.pp.ua aqt.22wr.ga главная rss sitemap html link