Программно узнать версию сервера
Модераторы: kdv, Alexey Kovyazin
Программно узнать версию сервера
Как узнать программно версию запущенного сервера FireBird-a?
Дело в том, что использую FireBird версии 2.1.2, а у пользователя есть еще используемая лицензионная прога под управлением версии 1.5.
При этом оба сервера стоят на одном ПК, и он их попеременно запускает для работы то в одной, то в другой проге.
Разносить версии по портам для него не выход (такой уж пользователь). Поэтому для избежания некорректной работы моей проги, мне нужно при запуске до соединения с сервером узнать какая его версия сейчас запущена.
То что сервер запущен узнать не проблема, но пока незнаю как определить версию.
Надеюсь на помощь и понимание.
Дело в том, что использую FireBird версии 2.1.2, а у пользователя есть еще используемая лицензионная прога под управлением версии 1.5.
При этом оба сервера стоят на одном ПК, и он их попеременно запускает для работы то в одной, то в другой проге.
Разносить версии по портам для него не выход (такой уж пользователь). Поэтому для избежания некорректной работы моей проги, мне нужно при запуске до соединения с сервером узнать какая его версия сейчас запущена.
То что сервер запущен узнать не проблема, но пока незнаю как определить версию.
Надеюсь на помощь и понимание.
Re: Программно узнать версию сервера
Т.е. API сервера даже краем глаза не смотрел (я уже не говорю о документации), а "проги" уже клепаешь и продаёшь ?..
Embedded не подойдёт для твоей "проги" ?
Embedded не подойдёт для твоей "проги" ?
Re: Программно узнать версию сервера
Вариант с Embedded в данном случае не подходит.
С API сервера пока не приходилось работать, а та документация что выложена по API на сайте к сожалению на английском и примеры на C++. А с тем и другим у меня маленькие проблемки.
Т.ч. если не затрудит укажите, пожалуйста, еще источники по решению вышеуказанной проблемы.
Ну или есть ли у кого-нибудь примеры работы с API сервера для Delphi? Буду очень признателен.
С API сервера пока не приходилось работать, а та документация что выложена по API на сайте к сожалению на английском и примеры на C++. А с тем и другим у меня маленькие проблемки.
Т.ч. если не затрудит укажите, пожалуйста, еще источники по решению вышеуказанной проблемы.
Ну или есть ли у кого-нибудь примеры работы с API сервера для Delphi? Буду очень признателен.
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: Программно узнать версию сервера
Если действительно хочешь версию, рой в сторону isc_info_firebird_version, но лично я бы просто создал БД с ODS от 2.1 и при попытии подключиться к ней через 1.5 получал бы отлуп по неверной версии.
Хотя нет, вру, я бы скорее сделал программу, которая работает с 1.5...
Хотя нет, вру, я бы скорее сделал программу, которая работает с 1.5...
Re: Программно узнать версию сервера
интересно, почему? И почему нельзя развести разные версии ФБ по разным портам? Про разные ODS Влад сказал, а я промолчу.Вариант с Embedded в данном случае не подходит.
-
- Сообщения: 33
- Зарегистрирован: 09 июл 2009, 14:57
Re: Программно узнать версию сервера
Если ты используешь компоненты FIBPlus, то у предка компонента TpFIBDataBase есть свойство FBVersion, котрое можно получить после открытия БД. Но я не уверен в том успевает ли сервер испортить метаданные. У кого по этому поводу есть достоверные сведения ?
Re: Программно узнать версию сервера
Можно возспользоваться TIBServerProperties (IBX) или TpFIBServerProperties (FIBPlus) с их помощью можно и версию сервера узнать и ещё много чего другого интересного.
P.S. Два сервера на разных портах не подходят.. Embedded не подходит... что религия такая?
P.S. Два сервера на разных портах не подходят.. Embedded не подходит... что религия такая?
Re: Программно узнать версию сервера
Embedded не подходит, т.к. с БД может работать одновременно несколько клиентов по сети.
"Развод" по нескольким портам не подходит, т.к. не предусмотрел в проге работу с указанием порта (два FireBird-a пока частный случай, в дальнейшем предусмотрю), а пользователи в массе своей не шибко во всем этом смыслят.
Под версию 1.5 не перепишу, т.к. программой пользуются уже 10-ки пользователей.
Всем спасибо, проблема решена!!!
"Развод" по нескольким портам не подходит, т.к. не предусмотрел в проге работу с указанием порта (два FireBird-a пока частный случай, в дальнейшем предусмотрю), а пользователи в массе своей не шибко во всем этом смыслят.
Под версию 1.5 не перепишу, т.к. программой пользуются уже 10-ки пользователей.
Всем спасибо, проблема решена!!!
Re: Программно узнать версию сервера
порт указывается в строке подключенияне предусмотрел в проге работу с указанием порта
<server_name>[/<port>]:<database_alias>
например:
localhost/3052:my_database