powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / "firebird.msg" not found...?
25 сообщений из 124, страница 1 из 5
"firebird.msg" not found...?
    #35151525
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместе с инсталляцией приложения (которое ставится, скажем, в C:\Program files\MyProg\ ) копируется клиентская блиблиотека для FB 2.03, которая записывается в подкаталог C:\Program files\MyProg\fbSupport - там firebird.msg лежит, а уже в C:\Program files\MyProg\fbSupport\bin - сама fbclient.dll находится.

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

При глюке получаю ошибку, с правильным текстом сообщения и еще с замечанием, что C:\Program files\ () таки нет файла firebird.msg.


'validation error for column PROJECTED_BUDGET, value "2850000.00"
can't format message 13:375 -- message file Program files\firebird.msg not found
Error Code: 27'


Непонятна логика: сообщение уже сформировано, что, его еще через firebird.msg нужно пропустить?
Ну ладно, может быть и нужно. Я понимаю, что может быть локализация сообщений, то да се, но! Если firebird.msg найден, то и локализуй на здоровье, а если нет - то фиг ли панику поднимать?
...
И почему ищет этот файл в каталоге, на уровне выше по отношению к каталогу приложения, а не по отношению к каталогу, где расположена клиентская либа? Неудобно же...
...
"Проблема" лечится с помощью
Код: plaintext
SetEnvironmentVariable(PChar('FIREBIRD_MSG'), PChar('C:\Program files\MyProg\fbSupport'));
... но как-то все равно не совсем логично.
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35151553
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 kdv: imho, есть смысл про INTERBASE_MSG/FIREBIRD_MSG упомянуть в Вашей статье Установка InterBase и Firebird вручную - в разделе "Только клиентская часть":
- типа, если хотим таскать клиентскую библиотеку с собой, то достаточно бросить bclient.dll и firebird.msg рядом подходящее место; и пусть приложение прописывает для текущего процесса значение переменной окружения INTERBASE_MSG/FIREBIRD_MSG путь к этому месту (в рантайме, естественно)...(etc)

Хотя, очень может быть, все как всегда про это знали и т.д...
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35151643
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NextMan то достаточно бросить bclient.dll и firebird.msg рядом подходящее место; и пусть приложение прописывает для текущего процесса значение переменной окружения INTERBASE_MSG/FIREBIRD_MSG путь к этому месту (в рантайме, естественно)...(etc)

Из от туда же:
kdvПроще всего скопировать в системный каталог Windows (C:\Windows, C:\WinNT, C:\WinXP или как там у вас).
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35151655
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насколько я в курсе, у разработчиков есть странные мысли, что fbclient.dll не ищет "рядом" firebird.msg. А ищет ее на 1 папку выше. зачем это, почему это - не знаю.
почему в вашем случае msg ищется еще на одну папку выше - не знаю.
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35151679
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvfbclient.dll не ищет "рядом" firebird.msg. А ищет ее на 1 папку выше. зачем это, почему это - не знаю.
патамучта fbclient лежит в /bin после инсталляции сервера

kdvпочему в вашем случае msg ищется еще на одну папку выше - не знаю.
патамучта ищется от прикладухи, а не либы
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35151696
Фотография Attid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>патамучта fbclient лежит в /bin после инсталляции сервера
>>патамучта ищется от прикладухи, а не либы

ну а почему бы не обучить его? =) какие минусы будут если он в двух местах
искать будет ? производительность не упадет, так как поиск я так понимаю при
ошибке идет.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35151717
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Attidпроизводительность не упадет, так как поиск я так понимаю при
ошибке идет
root dir -- это отнюдь не только msg-файл. Ширше думать надобно.
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35151799
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrпатамучта fbclient лежит в /bin после инсталляции сервера
а у КЛИЕНТА он обычно где лежит? Е-мое, так трудно сначала дать поиск в текущей папке, а потом в папке выше уровнем, или наоборот?
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35151862
Фотография Пьяный Винни-Пух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv dimitrпатамучта fbclient лежит в /bin после инсталляции сервера
а у КЛИЕНТА он обычно где лежит? Е-мое, так трудно сначала дать поиск в текущей папке, а потом в папке выше уровнем, или наоборот?

Вот пристал. А как же Дао?
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35151889
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv dimitrпатамучта fbclient лежит в /bin после инсталляции сервера
а у КЛИЕНТА он обычно где лежит? Е-мое, так трудно сначала дать поиск в текущей папке, а потом в папке выше уровнем, или наоборот?У КЛИЕНТА он обязан быть прописан в реестре. Вопросы ?
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152044
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvЕ-мое, так трудно сначала дать поиск в текущей папке, а потом в папке выше уровнем, или наоборот?
и так для каждого файла? firebird.msg, firebird.log, firebird.conf? А если половина из них лежит уровнем выше, а другая уровнем ниже? А если конфиг продублирован в двух каталогах? Будем работать с хрен знает чем?
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152054
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladУ КЛИЕНТА он обязан быть прописан в реестре. Вопросы ?

dimitrи так для каждого файла? firebird.msg, firebird.log, firebird.conf?

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

тут же все просто категоризируется. Подавляющее большинство систем - это когда на компе установлен или ОДИН сервер или ОДИН клиент. И именно для них данное поведение клиента является геморным.

далее, некоторое количество систем используют два или более клиентов, и два или более серверов.
для серверов тут все понятно, а для клиентов опять получается та же самая фигня как с конфигом, так и с firebird.msg, так и с реестром. Для "многоклиентских" случаев ни реестр ни подпапки также НЕ НУЖНЫ.

Теперь вернемся к одиночному клиенту. Зачем вообще было идти по пути усложнения? Представьте себе админа системы где один сервер и 100 клиентов. Он что, будет на 100 компах реестр прописывать или firebird.conf измененный подкладывать, да еще раскладывая по подпапкам? Я понимаю, что файлы можно "автоматизированно" брать с сервера и "укладывать" на клиента. Но реестр-то тут зачем?

Не умножайте сущности без необходимости...
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152080
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> Не умножайте сущности без необходимости...

(с) Оккам.

Поддерживаю - имхо логично искать в текущей папке.
С другой стороны, создать поддиректорию и положить
в нее dll, а в fbsupport - msg, conf и прочее - не представляет
собой ничего сложного.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152238
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы так и не хотите смотреть на проблему глубже, а я уже устал повторять заново одно и то же. Но ничего, скоро вас ждет упрощение. И оно вам не понравится, я вам обещаю :-)
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152260
Доброго времени суток!

kdvтут же все просто категоризируется. Подавляющее большинство систем - это когда на компе установлен или ОДИН сервер или ОДИН клиент. И именно для них данное поведение клиента является геморным.

Не замечал такого.

kdvдалее, некоторое количество систем используют два или более клиентов, и два или более серверов.
для серверов тут все понятно, а для клиентов опять получается та же самая фигня как с конфигом, так и с firebird.msg, так и с реестром. Для "многоклиентских" случаев ни реестр ни подпапки также НЕ НУЖНЫ.

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

kdvТеперь вернемся к одиночному клиенту. Зачем вообще было идти по пути усложнения? Представьте себе админа системы где один сервер и 100 клиентов. Он что, будет на 100 компах реестр прописывать или firebird.conf измененный подкладывать, да еще раскладывая по подпапкам? Я понимаю, что файлы можно "автоматизированно" брать с сервера и "укладывать" на клиента. Но реестр-то тут зачем?

Не понимаю, в чем сложность установки одиночного клиента. За 5 минут пишется командный файл, который с помощью instreg, instclient прописывает fb в реестре и кладет куда надо клиентскую dll. Установку клиента можно включить и в инсталлятор прикладного ПО.

Основным недостатком инсталляции вижу то, что FB по умолчанию создает ветку в реестре FirebirdServerDefaultInstance, и, таким образом, больше одной версии клиента/сервера корректно прописать там не удастся.

С уважением, Евгений
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152273
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кузнецов Евгений...где могут быть установлены несколько версий FB - значит, реестр приходится очищать, - и одновременно используются клиенты - а значит, для корректной работы приходится подкладывать нужные версии библиотек и firebird.msg каждому клиентскому приложению.
О чем и речь. FireBird/InterBase достаточно распространен, посему актуален вопрос совместимости клиенских библиотек для разных версий.
Проще всего, ИМХО, не думать о совместимости, а для каждого клиента использовать свою версию, и разнести сервера по разным портам.

Кузнецов Евгений Да еще плодятся клиентские firebird.log
Ну, это нормально (имхо): лог нужен именно для описания проблем конкретного приложения.

Кузнецов ЕвгенийНе понимаю, в чем сложность установки одиночного клиента. За 5 минут пишется командный файл, который с помощью instreg, instclient прописывает fb в реестре и кладет куда надо клиентскую dll. Установку клиента можно включить и в инсталлятор прикладного ПО.
Еще раз: Firebird/Interbase достаточно распространены, поэтому возникает вопрос совместимости. Т.е., такой способ включения клиента в инсталлятор прикладного ПО не годится.

~~~~~~~~~~~~~~~~~

Так вот, к тем кто в танке, вопрос:

- если бросать клиентскую либу вместе с .msg в тот же каталог, где мое приложение, а затем в рантайме, только для текущего процесса, прописывать в переменную окружения FIREBIRD_MSG путь к .msg - этого будет достаточно?

В общем, эксперименты для FB 2.03 показали, что вроде бы и да...

...?
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152281
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NextManесли бросать клиентскую либу вместе с .msg в тот же каталог, где мое приложение, а затем в рантайме, только для текущего процесса, прописывать в переменную окружения FIREBIRD_MSG путь к .msg - этого будет достаточно?
именно для msg-файла -- да, достаточно. Более широким решением было бы определение переменной окружения FIREBIRD.
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152285
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. dimitrименно для msg-файла -- да, достаточно.
Ага, спасибо, уже хорошо! :)
2 kdv:

2. dimitr Более широким решением было бы определение переменной окружения FIREBIRD. ...э, что значит - "более широким"? (Интересует именно использование нескольких версий клиента на дной и той же машине.)
(В общем виде, наверное, и сервера тоже.)

3. Похоже, пришлов время скачать исходники FB...
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152286
Доброго времени суток!

NextMan Еще раз: Firebird/Interbase достаточно распространены, поэтому возникает вопрос совместимости. Т.е., такой способ включения клиента в инсталлятор прикладного ПО не годится.
Да, для распространяемого ПО этот вариант не годится. Но с точки зрения админа системы с 1 сервером и N клиентами - вполне.

С уважением, Евгений
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152290
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой, недописал. :)
...
2 kdv: ну вот, еще один, "ленивый" вариант инсталляции клиента.
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152291
А вообще, определение переменной FIREBIRD для текущего процесса - хорошая мысль. Надо бы попросить KDV включить это в материал по инсталляции.

С уважением, Евгений
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152298
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кузнецов ЕвгенийА вообще, определение переменной FIREBIRD для текущего процесса - хорошая мысль. Надо бы попросить KDV включить это в материал по инсталляции.
С уважением, Евгений
Ну, и я о том же. Потому что не сразу догадаешься, т..к., например, ссылки на FIREBIRD_MSG ч/з google я нашел только здесь: https://students.kiv.zcu.cz/doc/firebird/rlsnotes/Firebird-1.5-ReleaseNotes.pdf.


...
А еще лучше - переделать fbclient.dll.

Именна для варианта распространения с тиражируемым ПО.
Чтобы не морочиться с реестрами, переменными окружения и каталогами другого уровня.

ИМХО.
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152299
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кузнецов ЕвгенийА вообще, определение переменной FIREBIRD для текущего процесса - хорошая мысль.
Э...именно переменная FIREBIRD - это несколько другое, чем FIREBIRD_MSG, нет?
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152303
NextManЭ...именно переменная FIREBIRD - это несколько другое, чем FIREBIRD_MSG, нет?
Ну да - подойдет и для того случая, когда embedded по каким-то причинам использовать не получается, и нужно ставить серверную часть, не прописывая ее в реестре.

С уважением, Евгений
...
Рейтинг: 0 / 0
"firebird.msg" not found...?
    #35152314
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кузнецов Евгений...
Ну да - подойдет и для того случая, когда embedded по каким-то причинам использовать не получается, и нужно ставить серверную часть, не прописывая ее в реестре.

С уважением, Евгений
Пардон, не понял я - а зачем?

Ну, вот я ставлю, и не прописываю в реестре. Ничего. (Ну, кроме записи о создании сервиса (для WinNT) и записи о том, что гвардейца стартовать при загрузке (для Win98/ME)).

...а зачем прикладному ПО знать, где сервер инсталлирован?
...или "FIREBERD"-env/var не для этого нужно прописывать?

Поясните, пожалуйста, в каких случаях это нужно.
...
Рейтинг: 0 / 0
25 сообщений из 124, страница 1 из 5
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / "firebird.msg" not found...?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]