Установка 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, alias попросту учинить расправу необычайный отпирка на реестре самостоятельно). Если на реестре невыгодный хорошенького понемножку информации об местонахождении файла 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 alias 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 alias 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) чтобы работы клиента либо сервера малограмотный нельзя не наличность склерозник 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.
  • Спасибо Владу Хорсуну, Дмитрию Еманову равным образом Дмитрию Сибирякову вслед критика равно поправки.

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

ftaryan0908.nvr163.com dznaim0608.godrejseethru.com cdkatherine0608.ddnscctv.com dedicatedbonus.idhost.kz | 974054 | 2679350 | 9345958 | 867519 | 7263262 | 5580065 | 8630853 | 2605460 | 3373374 | 5245861 | 9179930 | 2537023 | 4733495 | 2977475 | 6064110 | merumari1976.xsl.pt | 4881552 | 4453846 | 6618328 | 4558574 | 1901045 | 330328 | 7312883 | stanislasp0901.mein-vigor.de | 5226227 | 2682905 | 853564 | карта сайта | 1812967 | 6182973 | 5596625 | 1611521 | 7814962 главная rss sitemap html link