powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird 4: Could not find acceptable ICU library
25 сообщений из 303, страница 4 из 13
Firebird 4: Could not find acceptable ICU library
    #39814765
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,

я бы на твоём месте не радовался преждевременно. Намучаешься ещё с CURRENT_TIMESTAMP, CURRENT_TIME
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39815237
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисВасилий 2,

я бы на твоём месте не радовался преждевременно. Намучаешься ещё с CURRENT_TIMESTAMP, CURRENT_TIME
В моем случае это применяется очень редко, а где применяется - мне как раз намного удобнее UTC
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39824134
alex deeep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может кто-нибудь по-человечески объяснить, как правильно положить dll-ки и заставить отработать запрос
Код: sql
1.
select current_timestamp from rdb$database



В наличии:
winsrv2012R2 x64 - чистый, только для тестов Fb4, предыдущих версий Firebird не устанавливал
Firebird 4.0.0.1436 x64

В c:\Program Files\Firebird\Firebird_4_0\ есть icu*63.dll, msvcp100.dll, msvcp140.dll, msvcr100.dll
В c:\Program Files\Firebird\Firebird_4_0\WOW64\ есть msvcp140.dll

Через isql все запросы с timezone выполняет нормально.

Подключаюсь локально, для подключения использую C:\Program Files\Firebird\Firebird_4_0\WOW64\fbclient.dll version 4.0.0.1436

подключаюсь IBExpert 2019.6.4.1
в ibexpert\IBEUDB\ есть icu*30.dll, msvc*80.dll, msvc*100.dll

На выполнении запроса падает с ранее упомянутой ошибкой: SQLCODE: -902 GDSCODE: 335545167
Process Explorer показывает, что IBExpert пользует icu*30.dll,
в то время как firebird.exe подгрузил icu*63.dll


Попробовал установить свежий HQBird Firebird Admin 2018R4, SQL Studio build 6.0.2.504
В списке серверов нет Fb4.
Использую ту же клиентскую библиотеку, регистрирую бд как fb3
Process Explorer показывает, что FirebirdSQLStudio.exe использует c:\Program Files (x86)\IBSurgeon\HQBird Firebird Admin 2018R4\FirebirdSQLStudio\icu*30.dll
Выполнение запроса завершается ошибкой Unknown SQL Data type (32754)

Как заставить клиента использовать нужные библиотеки?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39824146
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex deeepзаставить отработать запрос

Замени current_timestamp на localtimestamp.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39824149
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex deeepподключаюсь IBExpert 2019.6.4.1
в ibexpert\IBEUDB\ есть icu*30.dll, msvc*80.dll, msvc*100.dll

На выполнении запроса падает с ранее упомянутой ошибкой: SQLCODE: -902 GDSCODE: 335545167
Process Explorer показывает, что IBExpert пользует icu*30.dll,


Это не сам эксперт, это firebird embedded, который живет в ibexpert\IBEUDB\. Попробуй нормальный сервер поднять для работы с IBExpert UserDatabase.

Меня тоже интересует, как разруливать эту проблему. Юзеры уже начинают спрашивать.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39824185
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex deeepПодключаюсь локально, для подключения использую C:\Program Files\Firebird\Firebird_4_0\WOW64\fbclient.dll

в этой папке не хватает 32-битных версий icu*63.dll и icudt63l.dat

Лично я скачал снапшот 32-битного Fb 4.0 и скопировал все необходимые клиентские библиотеки в отдельную папку. Можешь засунуть icu файлы в Firebird_4_0\WOW64 от 32 снапшота
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39824362
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисв этой папке не хватает 32-битных версий icu*63.dll и icudt63l.dat


Т.е., это просто инсталлятор недовешивает?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39824448
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

раз теперь клиенту требуется icu, то наверное да, инсталлятор не доделан
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39824454
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисраз теперь клиенту требуется icuТы в этом на 100% уверен ?
У меня всё никак не дойдут руки проверить.
Можешь выяснить, в каком случае нужен ICU, что происходит если его нет - и описать это всё в f-d ?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39824460
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

так писал уже

Сейчас icu дёргается в UtilInterface::decodeTimeTz() и UtilInterface::decodeTimestampTz()

AdrianoI suppose that any "real" dependency here is to transform TZ-id to
string and vice-versa.

As that is present in IUtil, changing that to require the server (or
transform IDs to string in data structures and wire protocol) would be a
significant architecture change that for me is going to make things
worse in the end.

Могу конечно освежить ту тему, но просто не знаю что уж ещё туда писать.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39824462
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисМогу конечно освежить ту тему, но просто не знаю что уж ещё туда писать.Тебе нравится эта новая зависимость ?
Напиши об этом. Пусть включает мозги.
Если я его пну - будет флейм о чём угодно, но только не об этом
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39824472
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

не нравится конечно.

Описал проблему alex deeep может с этой стороны проще будет убедить
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39824482
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

спасибо
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825008
alex deeep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovЗамени current_timestamp на localtimestamp.
С этим как раз все хорошо. Я именно с таймзонами хочу делать тесты.

Симонов Денисв этой папке не хватает 32-битных версий icu*63.dll и icudt63l.dat

Лично я скачал снапшот 32-битного Fb 4.0 и скопировал все необходимые клиентские библиотеки в отдельную папку. Можешь засунуть icu файлы в Firebird_4_0\WOW64 от 32 снапшота

Спасибо, так и сделал. Теперь клиент подхватывает эти библиотеки.

И, да, 64х инсталятор не содержит 32хбитных icu*63.dll

IBExpertЭто не сам эксперт, это firebird embedded, который живет в ibexpert\IBEUDB\. Попробуй нормальный сервер поднять для работы с IBExpert UserDatabase.
Указал Эксперту работать с UserDatabase на сервере и использовать другую dll, и всё сработало. Спасибо!


Примечание : HQBird SQL Studio библиотеки так не подхватывает, продолжает тянуть свои icu*30.dll
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825012
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex deeepИ, да, 64х инсталятор не содержит 32хбитных icu*63.dll

с этим не стоит торопиться, может нам с Владом ещё удастся убедить Адриано сделать по человечески
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825016
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex deeep, загляни сюда: 21890968
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825018
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисalex deeepИ, да, 64х инсталятор не содержит 32хбитных icu*63.dll

с этим не стоит торопиться, может нам с Владом ещё удастся убедить Адриано сделать по человеческиВ каком смысле "по-человечески"? Это же обычные shared library, используемые множеством программ и, соответственно, должны находится в соответствующем каталоге системы. Таская их пачками за каждым проектом теряем весь смысл shared library. По хорошему, надо проверять - лежат ли эти библиотеки в соответствующем каталоге системы и при необходимости их туда копировать. На венде вообще можно использовать систему side-by-side, но, к сожалению, она не портабельна, хотя, ничто не мешает на Линухе создавать хардлинки к нужным версиям файлов shared библиотек из каталога приложения.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825024
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисможет нам с Владом ещё удастся убедить Адриано сделать по человечески

Это хоть раз хоть кому-то за всю историю удалось?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825026
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

в линуксах как раз никаких проблем с ICU нет.
А вот таскать ICU вместе с клиентом fbclient.dll в Windows как-то не очень хочется. Тем более получается что при установке глобального fbclient.dll придётся ещё и копировать соответствующие ICU
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825039
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex deeepПримечание: HQBird SQL Studio библиотеки так не подхватывает, продолжает тянуть свои icu*30.dll

насколько я знаю он ещё не готов для работы с 4.0. IBExpert хотя бы здесь обитает, и я помню как лично долго и упорно с ним обсуждал каким образом работать с тайм-зонами. Это не самая простая задача.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825169
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисв линуксах как раз никаких проблем с ICU нет... потому, что там они устанавливаются как системный пакет. С ньюансами для Debian-based.А вот таскать ICU вместе с клиентом fbclient.dll в Windows как-то не очень хочетсяА какие, собственно варианты? Статически собирать fbclient с нужной версией icu?Тем более получается что при установке глобального fbclient.dll придётся ещё и копировать соответствующие ICUА ещё глобальному fbclient требуется рантайм видимостудии. Ну добавится в этот комплект ещё dll-ек - в чём проблема-то?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825175
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovСтатически собирать fbclient с нужной версией icu?
воткнуть эти две несчастные функции в fbclient. а не вызывать их из icu.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825205
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

ты просто ещё не внимательно разбирался с тайм-зонами. Там помимо uci dll требуется ещё и файлик icudt63l.dat в котором собственно и содержится база данных часовых поясов. Часовые пояса имеют свойство меняться время от времени (как у нас в стране с непонятным законодательством).

Если делать как предлагает rdb_dev, то я думаю ему будет очень весело в один прекрасный день обновлять в системном каталоге этот файлик на 300 рабочих местах.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825224
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисrdb_dev,

в линуксах как раз никаких проблем с ICU нет.
А вот таскать ICU вместе с клиентом fbclient.dll в Windows как-то не очень хочется. Тем более получается что при установке глобального fbclient.dll придётся ещё и копировать соответствующие ICUВ линухах без проблем, потому что эти библиотеки ставятся из репозитория при установке FirebirdSQL из пакета и определения зависимостей пакетов.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825228
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисты просто ещё не внимательно разбирался с тайм-зонами. Там помимо uci dll требуется ещё и файлик icudt63l.dat в котором собственно и содержится база данных часовых поясов. Часовые пояса имеют свойство меняться время от времени (как у нас в стране с непонятным законодательством).Да, когда я разбирался с проблемой, то обратил внимание на присутствие DAT файла в дистрибутиве ФБ и ещё тогда подумал о том, что данный файл, возможно, тоже нужен, но мне было лень опять лезть в телефон, качать ещё один пакет и перебрасывать его на комп по USB, так как в нашей конторке из-за СБ доступ по HTTPS через "Ж" и я не даже могу по-человечески скачать файл с облака amazonaws.com.

Симонов ДенисЕсли делать как предлагает rdb_dev, то я думаю ему будет очень весело в один прекрасный день обновлять в системном каталоге этот файлик на 300 рабочих местах.Какая разница - обновлять программу в каталоге, либо программу в каталоге + обновлять библиотеки в системном каталоге? Прописал логон-скрипт на вход пользователя и скриптом под учёткой системы распихал нужные файлы по нужным каталогам. Делов-то... Для удалённых клиентов вообще можно использовать старый, добрый фидошный binkd через VPN.
...
Рейтинг: 0 / 0
25 сообщений из 303, страница 4 из 13
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird 4: Could not find acceptable ICU library
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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