|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
Вместе с инсталляцией приложения (которое ставится, скажем, в 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
... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2008, 01:23 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
2 kdv: imho, есть смысл про INTERBASE_MSG/FIREBIRD_MSG упомянуть в Вашей статье Установка InterBase и Firebird вручную - в разделе "Только клиентская часть": - типа, если хотим таскать клиентскую библиотеку с собой, то достаточно бросить bclient.dll и firebird.msg рядом подходящее место; и пусть приложение прописывает для текущего процесса значение переменной окружения INTERBASE_MSG/FIREBIRD_MSG путь к этому месту (в рантайме, естественно)...(etc) Хотя, очень может быть, все как всегда про это знали и т.д... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2008, 02:27 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
NextMan то достаточно бросить bclient.dll и firebird.msg рядом подходящее место; и пусть приложение прописывает для текущего процесса значение переменной окружения INTERBASE_MSG/FIREBIRD_MSG путь к этому месту (в рантайме, естественно)...(etc) Из от туда же: kdvПроще всего скопировать в системный каталог Windows (C:\Windows, C:\WinNT, C:\WinXP или как там у вас). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2008, 11:19 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
насколько я в курсе, у разработчиков есть странные мысли, что fbclient.dll не ищет "рядом" firebird.msg. А ищет ее на 1 папку выше. зачем это, почему это - не знаю. почему в вашем случае msg ищется еще на одну папку выше - не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2008, 11:42 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
kdvfbclient.dll не ищет "рядом" firebird.msg. А ищет ее на 1 папку выше. зачем это, почему это - не знаю. патамучта fbclient лежит в /bin после инсталляции сервера kdvпочему в вашем случае msg ищется еще на одну папку выше - не знаю. патамучта ищется от прикладухи, а не либы ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2008, 12:56 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
>>патамучта fbclient лежит в /bin после инсталляции сервера >>патамучта ищется от прикладухи, а не либы ну а почему бы не обучить его? =) какие минусы будут если он в двух местах искать будет ? производительность не упадет, так как поиск я так понимаю при ошибке идет. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2008, 13:42 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
Attidпроизводительность не упадет, так как поиск я так понимаю при ошибке идет root dir -- это отнюдь не только msg-файл. Ширше думать надобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2008, 14:17 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
dimitrпатамучта fbclient лежит в /bin после инсталляции сервера а у КЛИЕНТА он обычно где лежит? Е-мое, так трудно сначала дать поиск в текущей папке, а потом в папке выше уровнем, или наоборот? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2008, 16:43 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
kdv dimitrпатамучта fbclient лежит в /bin после инсталляции сервера а у КЛИЕНТА он обычно где лежит? Е-мое, так трудно сначала дать поиск в текущей папке, а потом в папке выше уровнем, или наоборот? Вот пристал. А как же Дао? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2008, 18:24 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
kdv dimitrпатамучта fbclient лежит в /bin после инсталляции сервера а у КЛИЕНТА он обычно где лежит? Е-мое, так трудно сначала дать поиск в текущей папке, а потом в папке выше уровнем, или наоборот?У КЛИЕНТА он обязан быть прописан в реестре. Вопросы ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2008, 19:09 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
kdvЕ-мое, так трудно сначала дать поиск в текущей папке, а потом в папке выше уровнем, или наоборот? и так для каждого файла? firebird.msg, firebird.log, firebird.conf? А если половина из них лежит уровнем выше, а другая уровнем ниже? А если конфиг продублирован в двух каталогах? Будем работать с хрен знает чем? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2008, 22:59 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
hvladУ КЛИЕНТА он обязан быть прописан в реестре. Вопросы ? dimitrи так для каждого файла? firebird.msg, firebird.log, firebird.conf? давайте не будем усложнять. есть сервер, есть клиент. нафига, спрашивается, по большому счету, клиенту эти ваши записи в реестре и вложенные папки? тут же все просто категоризируется. Подавляющее большинство систем - это когда на компе установлен или ОДИН сервер или ОДИН клиент. И именно для них данное поведение клиента является геморным. далее, некоторое количество систем используют два или более клиентов, и два или более серверов. для серверов тут все понятно, а для клиентов опять получается та же самая фигня как с конфигом, так и с firebird.msg, так и с реестром. Для "многоклиентских" случаев ни реестр ни подпапки также НЕ НУЖНЫ. Теперь вернемся к одиночному клиенту. Зачем вообще было идти по пути усложнения? Представьте себе админа системы где один сервер и 100 клиентов. Он что, будет на 100 компах реестр прописывать или firebird.conf измененный подкладывать, да еще раскладывая по подпапкам? Я понимаю, что файлы можно "автоматизированно" брать с сервера и "укладывать" на клиента. Но реестр-то тут зачем? Не умножайте сущности без необходимости... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2008, 23:11 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
kdv> Не умножайте сущности без необходимости... (с) Оккам. Поддерживаю - имхо логично искать в текущей папке. С другой стороны, создать поддиректорию и положить в нее dll, а в fbsupport - msg, conf и прочее - не представляет собой ничего сложного. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2008, 23:39 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
вы так и не хотите смотреть на проблему глубже, а я уже устал повторять заново одно и то же. Но ничего, скоро вас ждет упрощение. И оно вам не понравится, я вам обещаю :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2008, 09:12 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
Доброго времени суток! kdvтут же все просто категоризируется. Подавляющее большинство систем - это когда на компе установлен или ОДИН сервер или ОДИН клиент. И именно для них данное поведение клиента является геморным. Не замечал такого. kdvдалее, некоторое количество систем используют два или более клиентов, и два или более серверов. для серверов тут все понятно, а для клиентов опять получается та же самая фигня как с конфигом, так и с firebird.msg, так и с реестром. Для "многоклиентских" случаев ни реестр ни подпапки также НЕ НУЖНЫ. Вот здесь, действительно, все не так хорошо, особенно на ПК разработчика, где могут быть установлены несколько версий FB - значит, реестр приходится очищать, - и одновременно используются клиенты - а значит, для корректной работы приходится подкладывать нужные версии библиотек и firebird.msg каждому клиентскому приложению. Да еще плодятся клиентские firebird.log kdvТеперь вернемся к одиночному клиенту. Зачем вообще было идти по пути усложнения? Представьте себе админа системы где один сервер и 100 клиентов. Он что, будет на 100 компах реестр прописывать или firebird.conf измененный подкладывать, да еще раскладывая по подпапкам? Я понимаю, что файлы можно "автоматизированно" брать с сервера и "укладывать" на клиента. Но реестр-то тут зачем? Не понимаю, в чем сложность установки одиночного клиента. За 5 минут пишется командный файл, который с помощью instreg, instclient прописывает fb в реестре и кладет куда надо клиентскую dll. Установку клиента можно включить и в инсталлятор прикладного ПО. Основным недостатком инсталляции вижу то, что FB по умолчанию создает ветку в реестре FirebirdServerDefaultInstance, и, таким образом, больше одной версии клиента/сервера корректно прописать там не удастся. С уважением, Евгений ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2008, 10:08 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
Кузнецов Евгений...где могут быть установлены несколько версий FB - значит, реестр приходится очищать, - и одновременно используются клиенты - а значит, для корректной работы приходится подкладывать нужные версии библиотек и firebird.msg каждому клиентскому приложению. О чем и речь. FireBird/InterBase достаточно распространен, посему актуален вопрос совместимости клиенских библиотек для разных версий. Проще всего, ИМХО, не думать о совместимости, а для каждого клиента использовать свою версию, и разнести сервера по разным портам. Кузнецов Евгений Да еще плодятся клиентские firebird.log Ну, это нормально (имхо): лог нужен именно для описания проблем конкретного приложения. Кузнецов ЕвгенийНе понимаю, в чем сложность установки одиночного клиента. За 5 минут пишется командный файл, который с помощью instreg, instclient прописывает fb в реестре и кладет куда надо клиентскую dll. Установку клиента можно включить и в инсталлятор прикладного ПО. Еще раз: Firebird/Interbase достаточно распространены, поэтому возникает вопрос совместимости. Т.е., такой способ включения клиента в инсталлятор прикладного ПО не годится. ~~~~~~~~~~~~~~~~~ Так вот, к тем кто в танке, вопрос: - если бросать клиентскую либу вместе с .msg в тот же каталог, где мое приложение, а затем в рантайме, только для текущего процесса, прописывать в переменную окружения FIREBIRD_MSG путь к .msg - этого будет достаточно? В общем, эксперименты для FB 2.03 показали, что вроде бы и да... ...? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2008, 10:38 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
NextManесли бросать клиентскую либу вместе с .msg в тот же каталог, где мое приложение, а затем в рантайме, только для текущего процесса, прописывать в переменную окружения FIREBIRD_MSG путь к .msg - этого будет достаточно? именно для msg-файла -- да, достаточно. Более широким решением было бы определение переменной окружения FIREBIRD. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2008, 10:43 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
1. dimitrименно для msg-файла -- да, достаточно. Ага, спасибо, уже хорошо! :) 2 kdv: 2. dimitr Более широким решением было бы определение переменной окружения FIREBIRD. ...э, что значит - "более широким"? (Интересует именно использование нескольких версий клиента на дной и той же машине.) (В общем виде, наверное, и сервера тоже.) 3. Похоже, пришлов время скачать исходники FB... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2008, 10:53 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
Доброго времени суток! NextMan Еще раз: Firebird/Interbase достаточно распространены, поэтому возникает вопрос совместимости. Т.е., такой способ включения клиента в инсталлятор прикладного ПО не годится. Да, для распространяемого ПО этот вариант не годится. Но с точки зрения админа системы с 1 сервером и N клиентами - вполне. С уважением, Евгений ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2008, 10:55 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
Ой, недописал. :) ... 2 kdv: ну вот, еще один, "ленивый" вариант инсталляции клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2008, 10:56 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
А вообще, определение переменной FIREBIRD для текущего процесса - хорошая мысль. Надо бы попросить KDV включить это в материал по инсталляции. С уважением, Евгений ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2008, 10:58 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
Кузнецов ЕвгенийА вообще, определение переменной FIREBIRD для текущего процесса - хорошая мысль. Надо бы попросить KDV включить это в материал по инсталляции. С уважением, Евгений Ну, и я о том же. Потому что не сразу догадаешься, т..к., например, ссылки на FIREBIRD_MSG ч/з google я нашел только здесь: https://students.kiv.zcu.cz/doc/firebird/rlsnotes/Firebird-1.5-ReleaseNotes.pdf. ... А еще лучше - переделать fbclient.dll. Именна для варианта распространения с тиражируемым ПО. Чтобы не морочиться с реестрами, переменными окружения и каталогами другого уровня. ИМХО. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2008, 11:07 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
Кузнецов ЕвгенийА вообще, определение переменной FIREBIRD для текущего процесса - хорошая мысль. Э...именно переменная FIREBIRD - это несколько другое, чем FIREBIRD_MSG, нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2008, 11:09 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
NextManЭ...именно переменная FIREBIRD - это несколько другое, чем FIREBIRD_MSG, нет? Ну да - подойдет и для того случая, когда embedded по каким-то причинам использовать не получается, и нужно ставить серверную часть, не прописывая ее в реестре. С уважением, Евгений ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2008, 11:23 |
|
"firebird.msg" not found...?
|
|||
---|---|---|---|
#18+
Кузнецов Евгений... Ну да - подойдет и для того случая, когда embedded по каким-то причинам использовать не получается, и нужно ставить серверную часть, не прописывая ее в реестре. С уважением, Евгений Пардон, не понял я - а зачем? Ну, вот я ставлю, и не прописываю в реестре. Ничего. (Ну, кроме записи о создании сервиса (для WinNT) и записи о том, что гвардейца стартовать при загрузке (для Win98/ME)). ...а зачем прикладному ПО знать, где сервер инсталлирован? ...или "FIREBERD"-env/var не для этого нужно прописывать? Поясните, пожалуйста, в каких случаях это нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2008, 11:32 |
|
|
start [/forum/topic.php?fid=40&fpage=57&tid=1562054]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 158ms |
0 / 0 |