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

Код: plaintext
1.
Authentication error
Could not find acceptable ICU library

Сам FB перенесен простым копированием, созданием и запуском соответствующей службы. Т.е., конфигурации сервера заведомо одинаковые. На всякий случай скачал последний снапшот - такая же фигня.
При этом на старом ноуте та же конфигурация нормально работает.
Но на старом ноуте винда (десятка) версии 1703, а на новом - 1709.

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

icu требуют msvc10 скопируй из тройки msvcp100.dll и msvcr100.dll или установи VC Redistr 2010
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39549115
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисIBExpert,

icu требуют msvc10 скопируй из тройки msvcp100.dll и msvcr100.dll или установи VC Redistr 2010

Завелось, спасибо!
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39569205
bazilio77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисIBExpert,

icu требуют msvc10 скопируй из тройки msvcp100.dll и msvcr100.dll или установи VC Redistr 2010
А почему нельзя включать в дистрибутив ICU скомпилированные с msvcr120.dll?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39569208
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilio77,

это вопрос не ко мне. К релизу всё нормально будет
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667217
bazilio77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати до сих проблема имеет место
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667224
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilio77,

Адриано собирается обновить ICU когда будет мержить ветку с тайм-зонами.

Кстати там судя по всему будет забавный сюрприз. Те кто хочет обновится на 4.0 надо начинать готовить базы.
В следующих пострелизах 3.0 и 2.5 будет добавлены контекстные переменные LOCALTIME, LOCALTIMESTAMP как синонимы CURRENT_TIME, CURRENT_TIMESTAMP и надо будет переводить приложения и базу использование новых переменных, потому что с 4.0
CURRENT_TIME, CURRENT_TIMESTAMP будут возвращать TIME WITH TIMEZONE и TIMESTAMP WITH TIMEZONE.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667233
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> с 4.0 CURRENT_TIME, CURRENT_TIMESTAMP будут возвращать
Симонов Денис> TIME WITH TIMEZONE и TIMESTAMP WITH TIMEZONE.

Ну ппц.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667235
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в конфиг вынесите галку.
ибо.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667246
bazilio77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисbazilio77,

Адриано собирается обновить ICU когда будет мержить ветку с тайм-зонами.

Кстати там судя по всему будет забавный сюрприз. Те кто хочет обновится на 4.0 надо начинать готовить базы.
В следующих пострелизах 3.0 и 2.5 будет добавлены контекстные переменные LOCALTIME, LOCALTIMESTAMP как синонимы CURRENT_TIME, CURRENT_TIMESTAMP и надо будет переводить приложения и базу использование новых переменных, потому что с 4.0
CURRENT_TIME, CURRENT_TIMESTAMP будут возвращать TIME WITH TIMEZONE и TIMESTAMP WITH TIMEZONE.
Так делать нельзя! Никаких синонимов. Введите новое что то вроде CURRENT_TIMSTAMP_WITH_TZ
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667248
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilio77, Гаджимурадов Рустам, Мимопроходящий

с этим в fbdevel надо. Адриано категорически против всяких параметров в конфиге
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667250
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
детство юношеский максимализм в голове у вундеркинда.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667257
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В стандарте CURRENT_TIME, CURRENT_TIMESTAMP должны возвращать TIME WITH TIMEZONE и TIMESTAMP WITH TIMEZONE.
Без таймзоны - LOCALTIME, LOCALTIMESTAMP.
В 3.0.4 (и, возможно, в 2.5.9) специально добавятся LOCALTIME, LOCALTIMESTAMP, чтобы можно было заранее подготовиться.
Что не так ?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667259
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

согласно стандарту CURRENT_TIME, CURRENT_TIMESTAMP и должны возвращать значения с тайм-зоной, а LOCALTIME, LOCALTIMESTAMP без тайм-зоны.
Но с другой стороны обратная совместимость...

Большинству эти тайм-зоны на фиг не упали в ближайшей перспективе, а вот другие фичи из 4.0 очень даже хороши.
И красивые решения с обратной совместимостью с ходу не придумаешь.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667263
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

да всё хорошо, кроме того что народу лень заранее готовится к переходу на новую версию. Привыкли backup/restore и заработало, ну или почти заработало.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667265
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисКстати там судя по всему будет забавный сюрприз.
Вывели бы совместимость со стандартом в отдельный диалект (четвёртый).
Текущий (третий) объявили бы устаревшим и создали бы классный пятый.
Сомневаюсь что кто-то оценит такую поломку совместимости. Адриано лет 10 назад наверняка сам бы кого угодно приструнил за такое.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667269
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисс 4.0 CURRENT_TIME, CURRENT_TIMESTAMP будут возвращать TIME WITH TIMEZONE и TIMESTAMP WITH
TIMEZONE.

Может, они ещё прислушаются к голосу разума и отложат этот шаг на пятёрку, поскольку
делать умолчанием необкатанную функциональность - редкостный авантюризм.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667287
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все значимые аргументы нужно приводить в fb-devel.
Где они ?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667292
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladВсе значимые аргументы нужно приводить в fb-devel.
Где они ?

Уже там были.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667296
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovhvladВсе значимые аргументы нужно приводить в fb-devel.
Где они ?

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

ты да, остальные удивлённые похоже fbdevel не читают
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667302
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тема TimeZones от 30.04.2018
Вперёд, всёзнающие ;)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667323
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladВ 3.0.4 (и, возможно, в 2.5.9) специально добавятся LOCALTIME, LOCALTIMESTAMP, чтобы можно было заранее подготовиться.
Что не так ?
фигасе, радикалы :)

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

кого ты там щупать собрался? LOCALTIME, LOCALTIMESTAMP?
Так там ничего особенного, это просто синонимы CURRENT_TIME и CURRENT_TIMESTAMP, которые скоро появятся в 2.5 и 3.0.
А если ты про тайм-зоны, то это пока не мержили в снапшоты 4.0. Если только сам собирать будешь https://github.com/FirebirdSQL/firebird/tree/1c7e25051015a6b1023d7a900ea62c98c247d141
Про новые типы https://github.com/FirebirdSQL/firebird/blob/1c7e25051015a6b1023d7a900ea62c98c247d141/doc/sql.extensions/README.time_zone.md
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667360
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я правильно понимаю, что
select current_timestamp at time zone '00' from rdb$database;
получит текущее время в UTC?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667364
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,

Код: sql
1.
select current_timestamp at time zone 'UTC' from rdb$database



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

такая ссылка лучше, зачем на какой-то коммит ссылаться

https://github.com/FirebirdSQL/firebird/blob/work/time-zone-support/doc/sql.extensions/README.time_zone.md
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667372
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

во! найти не смог правильную ссылку :(
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667471
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денискоторые скоро появятся в 2.5 и 3.0.
хорошо, у меня база в процессе проектирования. Дождусь следующего релиза тройки


hvlad,

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

Описание тут
https://github.com/FirebirdSQL/firebird/blob/work/time-zone-support-3.0/doc/README.time_zone_forward_compatibility.md
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667525
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть добавить в firebird.conf настройку текущего часового пояса (отличного от системного)? Для совместимости со старым поведением CURRENT_TIME нужно будет поставить часовой пояс +0
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667527
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений,

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

TIME [WITHOUT TIMEZONE] и TIME WITH TIMEZONE это разные типы данных.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39667699
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений> Может быть добавить в firebird.conf настройку

Сказали же нет, стандарт-с, привыкайте-с, возмущения в fb-devel-c.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39676952
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39676977
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Адриано смержил ветку time-zone-support-3.0 в B3_0_Release и удалил её.

Теперь всё в B3_0_Release
https://github.com/FirebirdSQL/firebird/blob/B3_0_Release/doc/README.time_zone_forward_compatibility.md
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39676979
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladkdv,

Адриано смержил ветку time-zone-support-3.0 в B3_0_Release и удалил её.

Теперь всё в B3_0_Release
https://github.com/FirebirdSQL/firebird/blob/B3_0_Release/doc/README.time_zone_forward_compatibility.md

Торпеды на подводных лодках хранятся в перевернутом состоянии, поэтому, во избежание путаницы, на верху торпеды написано "низ".
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39676980
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastor,
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39676983
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сразу вспомнил анекдот о новом работнике, подписавшем "Х" и "П" хорошие и плохие материалы.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39773036
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Сегодня установил FB4 из снапшотов (билд 1433).
Когда залил базу из бекапа с FB2.5, при попытке подключиться получил subj.
Посмотрел в папку - там имена icu*.dll заканчиваются на 63, типа icudt63, а в ранее установленной альфе (которая БД открывала нормально) - на 52.
Скопировал все icu*52.dll из папки с альфой в папку с новым снапшотом - соединение прошло нормально.

Это у меня с БД было что-то не так или так и должно быть? Кодировка БД Win1252.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39773038
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRasta,

Небось подцеляешься к базе которую ещё на альфе разворачивал?
Базу надо разворачивать из бекапа заново. На этапе альфа->бета такое бывает
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39773039
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Требуется рантайм от студии 2017.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39773041
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисНебось подцеляешься к базе которую ещё на альфе разворачивал?

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

кстати да. У меня просто VS 2017 установлена, поэтому и не заметил
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774236
dedRasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На десктопе Win7(x64) разархировал в папку архив Firebird-4.0.0.1433-0_x64.7z

В папке запускаю из командной строки:
Код: plsql
1.
	install_service.bat fb4 


Сервис создан и стартовал.

Далее в той же папке выполняю команду:
Код: plsql
1.
	isql.exe -u SYSDBA SECURITY.DB 


после долгого раздумья получаю ответ:
Код: plsql
1.
2.
	Statement failed, SQLSTATE=xx000
	Could not find acceptable ICU library 



Копирую в папку файлы icu*52*.* из альфы (Firebird-4.0.0.1062-0_x64).

Повторяю
Код: plsql
1.
	isql.exe -u SYSDBA SECURITY.DB 


Все пролетает с песнями. После этого добавляю пользователей, восстанавливаю БД - все нормально.

В логе, правда, ругается на часовые пояса:
Код: plsql
1.
2.
3.
WSS000	Thu Feb 14 10:46:51 2019

	ICU error (0) retrieving the system time zone (Романское время (зима)). Falling back to displacement.



Но с этим буду разбираться дальше.

Далее, согласно директиве

Dimitry SibiryakovТребуется рантайм от студии 2017.


скачиваю vc_redist.x64.exe и устанавливаю.
Удаляю из папки файлы icu*52*.* и перезагружаюсь.

Все работает нормально. Спасибо за помощь.

Но есть вопрос: как называются и где лежат файлы, которые установил vc_redist.x64.exe,
чтобы их можно было залить в папку вместо msvc*120.dll? Я что-то не смог найти.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774238
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRasta,

да не парся ты. К релизу нужные mvcr и так будут лежать где надо. А сейчас всё равно себе на пробу fb ставишь
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774360
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dedRastaНо есть вопрос: как называются и где лежат файлы, которые установил vc_redist.x64.exe,
чтобы их можно было залить в папку вместо msvc*120.dll?Там не так просто теперь.
Кроме обычных vcruntime140.dll и msvcp140.dll нужны ещё и ucrtbase.dll + api-ms-crt-XXX.dll (ищи их в system32).
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774366
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

эти dll в итоге будут включены в снапшоты, или просто теперь будет написано в readme что надо устанавливать msvc 2017 студии?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774368
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это Update for Universal C Runtime in Windows - уже (давно) должно быть (у всех) установлено. Ну или даже "в образ закатано".
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774376
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

в снапшоты пока не включали, посмотрим что будет в инсталляторе беты.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774379
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рядом с бинарниками ФБ будут vcruntime140.dll и msvcp140.dll, плюс отдельно будет redist. Устанавливать Universal CRT (если ее нет) придется самостоятельно.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774392
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

вы на сборку 2015 студией переходите или будет лежать два набора рантаймов?

Просто в снапшотах лежат ещё msvc*120.dll
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774413
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
снапшоты допилим попозже, там пока не установлен MSVC17
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774442
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrснапшоты допилим попозже, там пока не установлен MSVC17

У MS на сайте доступны какие-то "Build Tools", типа, как раз и предназначенные для сборки
софта на серверах, где студии нет. И Пол в девеле вроде бы написал инструкции по их
использованию.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774444
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Пол писал про необходимые галочки при установке студии
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774452
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит он не понял вопроса и придётся экспериментировать самостоятельно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774456
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

он написал, что именно надо включить/выключить, чтобы не ставить "whole Visual Studio". Что именно ты понимал под "whole" ему неведомо.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774468
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrЧто именно ты понимал под "whole" ему неведомо.

Я под этим понимал то, что не "Build Tools". Видимо, не стоило выпендриваться и
растекаться по древу. Сейчас попробую ещё раз.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39774869
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сегодняшние снапшоты уже собраны MSVC17 и включают минимально достаточный рантайм
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39781366
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
через ISQL всё работает хорошо. Однако, если я пытаюсь выполнить в IBExpert запрос

Код: sql
1.
select current_time from rdb$database;



вываливается ошибка

Код: plaintext
1.
2.
3.
4.
5.
SQLCODE: -902
GDSCODE: 335545167

Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements.
Could not find acceptable ICU library.
Missing entrypoint u_setDataDirectory in ICU library.

Firebird 4.0 Beta 1 x64. Для 32-битного клиента выделена отдельная папка в которую всё что нужно включено
msvcp140.dll
vcruntime140.dll
icudt63.dll
icuin63.dll
icuuc63.dll
icudt63l.dat
firebird.msg

Одновременно на разных портах установлены Firebird 2.5 и 3.0. В чём может быть дело?

Дополнительные подробности тут https://www.sql.ru/forum/1309674-1/firebird-4-pro-nego-poka-pishite-suda
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39781381
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисВ чём может быть дело?

В том, что поиск ICU сделан... хммм... затейливо и, вероятнее всего, первой находится уже
загруженная библиотека от старого сервера. Process Monotor и Explorer покажут подробности
процесса.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39781732
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

похоже ты прав. Посмотрел process explorer никаких icu*63 не подгружается, зато видно что подгружены icu*30 которые используются Firebird 2.5 embedded для БД настроек.
Попробовал отрубить User Database в IBE и всё заработало.
В общем процесс поиска ICU в 4.0 надо бы доработать
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39781806
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

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

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

Спасибо. И - там ты написал лучше, чем здесь :)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39781906
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисПосмотрел process explorer никаких icu*63 не подгружается, зато видно что подгружены
icu*30 которые используются Firebird 2.5 embedded для БД настроек.

За это скажи "спасибо" Адриано, который начинает сканирование всех возможных и невозможных
версий ICU начиная с младших. Хотя по идее 63 указана как "предпочтительная", так что
должна бы пробоваться первой. Но, очевидно, что-то пошло не так...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39781912
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

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

Тема поиска ICU поднималась Владом ещё месяц или два назад. Как обычно всё заглохло сразу
как только дошло до стадии "сесть и начать кодить".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39781937
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

авторЗа это скажи "спасибо" Адриано, который начинает сканирование всех возможных и невозможных
версий ICU начиная с младших.

там дело даже не в том как поиск идёт, а в том что другая версия ICU загружена раньше.

Пока не было часовых поясов было как то всё равно. По идее те же проблемы должны были ещё в 3.0 существовать,
но там для fbclient icu видимо не так уж и требовалась. А в 4.0 декодировать часовые пояса по их названиям без ICU никак.

А серверу по идее должно быть всё равно, он грузит ровно одну версию ICU, там нет варианта другая ICU уже загружена.
В приложении это надо решать в любом случае. Даже если оно не будет грузить другие fbclient/fbembedded, то само приложение может требовать ICU через другие библиотеки.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39781942
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денистам дело даже не в том как поиск идёт, а в том что другая версия ICU загружена раньше.

У сервера нет возможности получить список уже загруженных библиотек, так что дело именно в
поиске. Судя по коду, сначала должна пытаться загружаться версия 63 (для свежих
снапшотов), а если что-то этому помешало, то дважды пробуются все 1770 вариантов пока один
из них не сработает.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39781947
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисА в 4.0 декодировать часовые пояса по их названиям без ICU никак.Ты уверен в этом ? Я не вникал, но если это так, то зависимость клиента от наличия ICU - совсем не хорошо.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39781956
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

Всё началось вот тут https://www.sql.ru/forum/1309674-1/firebird-4-pro-nego-poka-pishite-suda
Александр никак не мог правильно декодировать часовые пояса, на что я посоветовал ему воспользоваться (IUtil.decodeTimeTz) UtilInterface::decodeTimeTz. И только тогда всплыла проблема с ICU.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39814642
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть теперь для клиента, даже если он не использует таймзоны или локали, требуется тащить три вагона всяких либ?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39814736
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,

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

нет. Пока значение типа TIME[STAMP] WITH TIME ZONE не дёргаешь ICU не нужна клиенту.
Фух! Гора с плеч
...
Рейтинг: 0 / 0
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
Firebird 4: Could not find acceptable ICU library
    #39825277
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисТам помимо uci dll требуется ещё и файлик icudt63l.datПро это я уже в курсе и даже в курсе про разницу между "большим" icu*dat и "маленьким" icu*empty.dat.Если делать как предлагает rdb_dev, то я думаю ему будет очень весело в один прекрасный день обновлять в системном каталоге этот файлик на 300 рабочих местах.Это точно также (не)весело, как и обновление в этом же каталоге fbclient.dll и вообще как и любые обновления на клиентских местах.
И, в этом смысле, проблем не вижу: если процедура массовых клиентских обновлений отлажена, то ситуация никак не изменится, если не отлажена - тоже не изменится.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825279
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devПрописал логон-скрипт на вход пользователяВот только не надо в очередной раз учить плохому.
Обновления делаются на уровне системы, а не пользователя. Dixie.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825310
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovА какие, собственно варианты? Статически собирать fbclient с нужной версией icu?

Выкинуть ICU и использовать WinAPI функции.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825311
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
11.06.2019 12:39, Dimitry Sibiryakov пишет:
> Выкинуть ICU и использовать WinAPI функции.

+500
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825316
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovBasil A. SidorovА какие, собственно варианты? Статически собирать fbclient с нужной версией icu?

Выкинуть ICU и использовать WinAPI функции.На линуксе это будет особенно хорошо работать.

PS Win10 уже включает в себя ICU, правда старую версию.
Но нам это мало помогает, увы.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825318
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНа линуксе это будет особенно хорошо работать.

Новая политика партии уже запрещает функции с реализацией, обнесённой "#ifdef __WIN32__"?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825319
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
11.06.2019 12:48, hvlad пишет:
> PS Win10 уже включает в себя ICU, правда старую версию.
> Но нам это мало помогает, увы.

плевать на Win10.
ХР живее всех живых!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825325
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

а оно будет работать? Идентификаторы часовых поясов стандартизированы и одинаковы в ICU и WinAPI?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825327
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovhvladНа линуксе это будет особенно хорошо работать.

Новая политика партии уже запрещает функции с реализацией, обнесённой "#ifdef __WIN32__"?Моя твоя не понимает.
Что именно ты предлагаешь заменить на WinAPI ?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825328
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисИдентификаторы часовых поясов стандартизированы и одинаковы в ICU и WinAPI?

Понятия не имею. Но если кое-кто использовал "чисто ICU-шные" идентификаторы вместо
стандартных - ССЗБ, ему придётся составлять таблицу соответствия.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825329
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисDimitry Sibiryakov,

а оно будет работать? Идентификаторы часовых поясов стандартизированы и одинаковы в ICU и WinAPI?Очень сильно в этом сомневаюсь. Очень.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825331
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovСимонов ДенисИдентификаторы часовых поясов стандартизированы и одинаковы в ICU и WinAPI?

Понятия не имею. Но если кое-кто использовал "чисто ICU-шные" идентификаторы вместо
стандартных - ССЗБ, ему придётся составлять таблицу соответствия.И что такое "стандартные" по твоему ?
И что ты скажешь, если вдруг стандарной окажется сисема из ICU ?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825335
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovrdb_devПрописал логон-скрипт на вход пользователяВот только не надо в очередной раз учить плохому.
Обновления делаются на уровне системы, а не пользователя. Dixie.Если мне не изменяет память, логон-скрипт отрабатывает от имени учётки локальной системы, но инициируется да - входом пользователя. На самом деле, с современным шедулером венды запустить скрипт от имени администратора привязавшись к старту какой-нибудь службы не составляет труда.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825338
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
11.06.2019 12:59, Симонов Денис пишет:
> Идентификаторы часовых поясов стандартизированы и одинаковы в ICU и WinAPI?

"нет в мире таких крепостей, которых большевики не могли бы взять"
(С) - И. В. Сталин
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825340
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийплевать на Win10.
ХР живее всех живых!При учёте, что хрюшка давно снята с поддержки и к ней более не выпускаются заплатки безопасности?
Не, дружище, дохтар сказал в морг - значит в морг!
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825343
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЧто именно ты предлагаешь заменить на WinAPI ?

Реализацию функций decodeTimeTz() и decodeTimestampTz() ради которой клиенту и требуется ICU.

hvladИ что ты скажешь, если вдруг стандарной окажется сисема из ICU ?
Что нужна встроенная в клиент таблица или функция перевода этой системы в
TIME_ZONE_INFORMATION, используемый для работы TzSpecificLocalTimeToSystemTime().
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825345
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийХР живее всех живых!4-ка на ней уже не факт, что будет работать.
Хотя... клиент может и будет.
Но не нужно на это рассчитывать.

В любом случае, есть ещё Win7, которая будет есть ещё лет 5-7 как минимум, имхо
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825347
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
11.06.2019 13:11, Dimitry Sibiryakov пишет:
> Что нужна встроенная в клиент таблица или функция перевода этой системы в
> TIME_ZONE_INFORMATION, используемый для работы TzSpecificLocalTimeToSystemTime().

+1
у Оракела, кстати, оно таки реализовано задолго до появления всяких там ICU.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825349
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovhvladЧто именно ты предлагаешь заменить на WinAPI ?

Реализацию функций decodeTimeTz() и decodeTimestampTz() ради которой клиенту и требуется ICU.Ты демагог или просто поржать вышел ? Есть ещё 3-ий вариант, но я пока его придержу...


Dimitry SibiryakovhvladИ что ты скажешь, если вдруг стандарной окажется сисема из ICU ?
Что нужна встроенная в клиент таблица Если встраивать в клиент таблицу, то что он должен делать когда она отстанет от сервера ?

Dimitry Sibiryakovили функция перевода этой системы в
TIME_ZONE_INFORMATION, используемый для работы TzSpecificLocalTimeToSystemTime().На каком принципе должна основываться такая "функция перевода" ?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825361
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле, ID региона можно легко превратить в ASCII название региона и без ICU.
Эти ID - чисто наше понятие (как выяснилось при изучении кода) и таблица соответствия
кодов названиям тоже наша. Это не снимает проблемы старого клиента и нового сервера,
но пока отложим этот момент.

Т.е. проблема не в том, чтобы найти имя региона. Проблема в том, чтобы вычислить
смещение в данном регионе в данный момент времени от UTC, т.к. время передаётся
именно в UTC.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825362
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТы демагог или просто поржать вышел ?
Тебя весь топик послать перечитывать или достаточно
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1276348&msg=21905188 ?

hvladЕсли встраивать в клиент таблицу, то что он должен делать когда она отстанет от сервера ?

Что должен делать клиент если его версия не соответствует версии сервера... Интересный
риторический вопрос. Можно, я отвечу "с громкими воплями в падать в панику"?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825366
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТебя весь топик послать перечитывать или достаточно
https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1276348&msg=21905188 ?Это чушь, см выше


Dimitry SibiryakovЧто должен делать клиент если его версия не соответствует версии сервера... Интересный
риторический вопрос. Можно, я отвечу "с громкими воплями в падать в панику"?Это ты своему другу Адриане расскажи, его код именно так сейчас и работает.
Независимо от версии сервера - это бонус
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825367
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
11.06.2019 13:13, hvlad пишет:

МП>> ХР живее всех живых!
> 4-ка на ней уже не факт, что будет работать.
> Хотя... клиент может и будет.
> Но не нужно на это рассчитывать.

а 3-м клиентом к ней можно будет цепляться?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825370
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий11.06.2019 13:13, hvlad пишет:

МП>> ХР живее всех живых!
> 4-ка на ней уже не факт, что будет работать.
> Хотя... клиент может и будет.
> Но не нужно на это рассчитывать.

а 3-м клиентом к ней можно будет цепляться?Конечно. И 2-ым тоже.
Но новые типы данных они не поймут.

PS для таких есть set time zone bind legacy, кстати
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825373
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladВ любом случае, есть ещё Win7, которая будет есть ещё лет 5-7 как минимум, имхоИ не мечтай!
Поддержка Windows 7 завершается
Жизненный цикл Windows 7 Service Pack 1
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825381
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladего код именно так сейчас и работает.

О его коде у меня уже давно не осталось цензурных выражений. Как и об архитектурных
решениях. Например, в пределах данного топика, это решение вообще добавить названные
функций в API.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825382
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
11.06.2019 13:45, hvlad пишет:

МП>> а 3-м клиентом к ней можно будет цепляться?
>
> Конечно. И 2-ым тоже.
> Но новые типы данных они не поймут.

есть мнение, и не только моё, (С)
что большинству контор, которые используют FB,
тайм-зоны мягко говоря неактуальны.

а вот BIGINT в 1-м диалекте таки необходим всем,
кто 1-й диалект юзает.
есть ли шансы надеяться?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825389
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovО его коде у меня уже давно не осталось цензурных выражений.У тебя их нет ни для кого, я знаю.
Это не показатель :)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825391
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийа вот BIGINT в 1-м диалекте таки необходим всем,
кто 1-й диалект юзает.
есть ли шансы надеяться?Не знаю.
Если так сильно надо - пинайте трекер и fb-devel
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825413
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
11.06.2019 14:03, hvlad пишет:

МП>> а вот BIGINT в 1-м диалекте таки необходим всем,
МП>> кто 1-й диалект юзает.
МП>> есть ли шансы надеяться?
>
> Не знаю.
> Если так сильно надо - пинайте трекер и fb-devel

в трекере оно есть http://tracker.firebirdsql.org/browse/CORE-5669
может не так оформлено?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825418
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийв трекере оно есть http://tracker.firebirdsql.org/browse/CORE-5669
может не так оформлено?Значит нужно привлекать к нему внимание.
В трекере есть много хотелок, на всех нас не хватает.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825441
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
11.06.2019 14:35, hvlad пишет:
> Значит нужно привлекать к нему внимание.

в "тут", это мы завсегда.
а в "там" вести дискуссию - у-вы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825469
alex deeep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящийесть мнение, и не только моё, (С)
что большинству контор, которые используют FB,
тайм-зоны мягко говоря неактуальны.

Если не считать актуальной проблемой необходимость иметь 9 серверов с FB для каждой таймзоны, то в принципе можно нормально работать.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825470
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex deeepЕсли не считать актуальной проблемой необходимость иметь 9 серверов с FB для каждой таймзоны, то в принципе можно нормально работать.Позволь полюбопытствовать - чем обоснована сия необходимость?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825474
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devчем обоснована сия необходимость?

Ленью работать с UTC.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825480
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
11.06.2019 16:23, Dimitry Sibiryakov пишет:
> Ленью работать с UTC.

для меня было откровением, когда обнаружил что Linux перенастраивает
системные часики (те что в BIOS) с локального времени на UTC.

имхо, это таки правильно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825516
alex deeep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rdb_devПозволь полюбопытствовать - чем обоснована сия необходимость?
Логикой работы, когда разрешение на изменение объекта зависит от current_timestamp сервера. Т.е., образно, в объект можно внести изменения только пока в Новосибирске от 12:00 до 14:00.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825584
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийдля меня было откровением, когда обнаружил что Linux перенастраивает
системные часики (те что в BIOS) с локального времени на UTC.

имхо, это таки правильно.Это поведение по умолчанию, которое, естественно, можно изменить даже при установке из инсталлятора системы (в некоторых дистрибутивах).
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825989
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovО его коде у меня уже давно не осталось цензурных выражений. Как и об архитектурных
решениях. Например, в пределах данного топика, это решение вообще добавить названные
функций в API.Меня несколько смущает, на мой взгляд, не достаточно продуманное решение Андреаса с часовыми поясами. Чего проще было не трогать существующий функционал штампа времени, добавить новый тип данных - 'UNIVERSAL TIMESTAMP', который предполагал бы хранение штампа времени исключительно по UTC без нагрузки в два байта, а также добавить новый функционал в виде: таблицы часовых поясов, установку/получение часового пояса для соединения? Зная часовой пояс сервера и часовой пояс клиента, сервер прекрасно конвертировал бы данные из одного типа в другой - 'TIMESTAMP'<->'UNIVERSAL TIMESTAMP' без двух байт в штампе на хранение часового пояса.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825990
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

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

вот получается что ты даже текущую реализацию не смотрел. Такая таблица уже есть, только она более хитрая чем ты думаешь, и для неё требуется icu63.dat
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825994
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисrdb_devа также добавить новый функционал в виде: таблицы часовых поясов, установку/получение часового пояса для соединения?

вот получается что ты даже текущую реализацию не смотрел. Такая таблица уже есть, только она более хитрая чем ты думаешь, и для неё требуется icu63.datСмотрел и знаю, что там есть и выставление часового пояса подключения и таблица часовых поясов. Кстати, в существующем функционале не хватает Extract(TIMEZONE_ID FROM ...) и не хватает получения из контекстной переменной строки-идентификатора часового пояса подключения (либо я этого не нашёл).
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39825995
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисrdb_dev,

в сад. Не надо добавлять нестандартные говнотипыНу да, добавить говнотип из 10-ти байт, конечно же, лучше!
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826008
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

ещё раз повторяю. Firebird ориентирован по большей части на SQL стандарт. Нет в стандарте твоего "чудесного" типа.

И таки да, типы с часовым поясом по стандарту обязаны нести информацию не только о времени, но и о часовом поясе.
Меня в текущей реализации беспокоит даже не столько зависимость клиента от ICU, что уже не хорошо, но терпимо, сколько то, что таблица часовых поясов не централизована. А два лишних байта это не так уж и страшно, кому информация о часовом поясе не нужна всегда могут воспользоваться старыми типами без тайм-зон. Вон DECFLOAT(34) занимает аж 16 байт и ничего страшного.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826027
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, тогда мне не понятно - почему вместо стандартного функционала SCHEMA был использован нестандартный оракловский PACKAGE.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826036
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devСимонов Денис, тогда мне не понятно - почему вместо стандартного функционала SCHEMA был использован нестандартный оракловский PACKAGE.
это перпендикулярные фичи
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826037
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

потому что SCHEMA <> PACKAGE
И предназначены для совершенно разных целей. В Oracle есть и то и другое.

В плане процедурного языка стандарт сильно отстал, там вообще ХП появились спустя 10 лет, после того как все основные СУБД уже внедрили данный функционал.

MySQL единственные кто опирался на стандарт, но язык ХП у них полное г...
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826319
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисс этим не стоит торопиться, может нам с Владом ещё удастся убедить Адриано сделать по
человечески

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

не удивительно.
Впрочем при желании можно и не использовать UtilInterface::decodeTimeTz() и UtilInterface::decodeTimestampTz(), а юзать rdb$time_zone_util.transitions + RDB$TIME_ZONES. Но это полностью на совести компонентописателей. В последнем случае и ICU на клиенте не потребуется. А вот удалять UtilInterface::decodeTimeTz() и UtilInterface::decodeTimestampTz() не надо.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826337
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениспри желании можно и не использовать UtilInterface::decodeTimeTz() и
UtilInterface::decodeTimestampTz()

То есть повторяется история со старыми isc_encode/decode_timestamp(), которые формально
есть, но пользоваться ими не надо, ибо кривые от рождения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826338
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ну я вот почитал обсуждения в devel и никаких разумных предложений не увидел. Тогда уж лучше так как есть чем совсем никак
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826343
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денися вот почитал обсуждения в devel и никаких разумных предложений не увидел

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

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

Там даже Кейн был не против, что весьма редкое явление. Хотя я так и не понимаю зачем ему
в исторических данных секундная точность смещения у пояса.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826357
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovСимонов Денисс этим не стоит торопиться, может нам с Владом ещё удастся убедить Адриано сделать по
человечески

Похоже, попытка провалилась.Я так не считаю пока что
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826358
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПриложение получает идентификатор и смещение,
а дальше вольно делать с ними всё, что угодно.Я пока что не вижу обоснования - почему приложение вообще получает время в UTC.
Так что, пока меня не убедят в том, что так и надо - я считаю что нужно на клиента передавать региональное время, как оно было изначально.
И, есс-но, с клиента тоже передавать региональное время, а сервер уже сам пусть его превращает в UTC для хранения и сравнения.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826360
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЯ так не считаю пока что

Я буду мысленно болеть за тебя. Удачи.

PS: На твой вопрос в девеле "почему UTC": боюсь, что за это в ответе я. Когда это ещё
только обсуждалось, я был молод и наивен, а потому написал "UTC + offset, что может быть
проще?" Ну, внезапно Адриано повёлся.

Хотя именно в форме "нечто + смещение" это сугубо всё равно. Что напишете в доке, то и
ладненько. Проблема выползла когда Адриано начал выдавать ид вместо смещения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826362
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladя считаю что нужно на клиента передавать региональное время, как оно было изначально.

Тут есть один нюанс: когда время передаётся в виде литерала в запроса, оно, конечно,
удобнее региональное. Ибо читабельность. А вот в бинарной форме через API будет удобнее
UTC тупо потому, что time() его возвращает и не надо париться с дальнейшим переводом в
localtime().

Хотя, конечно, на вкус и цвет фломастеры разные, но я придерживаюсь паттерна KISS...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826364
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЯ пока что не вижу обоснования - почему приложение вообще получает время в UTC.
Так что, пока меня не убедят в том, что так и надо - я считаю что нужно на клиента передавать региональное время, как оно было изначально.
И, есс-но, с клиента тоже передавать региональное время, а сервер уже сам пусть его превращает в UTC для хранения и сравнения.

теоретически время в UTC может потребоваться если клиент решит преобразовать его в другой часовой пояс, не тот что пришёл с сервера. Других случаев я не вижу
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826414
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис можно тебя попросить написать тикет в трекер, чтобы добавили контекстную переменную 'TIME_ZONE', хранящую строковый идентификатор часового пояса, в пространства имён 'SYSTEM'(часовой пояс сервера) и 'USER_SESSION'(часовой пояс клиента)?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826419
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

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

чтобы я захотел за кого-то оформить тикет меня надо убедить в его необходимости.

Давай сначала с понятиями разберёмся. С точки зрения сервера никакого клиентского часового пояса нет. Есть часовой пояс установленный для сессии. Серверного часового пояса вроде как нет совсем, есть часовой пояс который ставится для сессии по умолчанию, если иное указание не пришло с клиента.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826452
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, тогда почему:
Код: plsql
1.
2.
SET TIME ZONE 'UTC';
SELECT CURRENT_TIMESTAMP FROM oneRow;

возвращает правильное значение UTC для сервера, стоящего на ОС в которой выбран часовой пояс 'Europe/Moscow', при том, что клиент, сделавший SET TIME ZONE 'UTC', на том же самом сервере?

Код: plaintext
1.
2.
3.
4.
5.
SQL> SET TIME ZONE 'UTC';
SQL> SELECT CURRENT_TIMESTAMP FROM oneRow;

                                        CURRENT_TIMESTAMP
=========================================================
2019-06-14 07:24:22.8790 UTC
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826458
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UTC обеспечивает монотонно возрастающую последовательность удобную для сравнений. Технически, в базе лучше хранить именно UTC.
Проблема, как я её понимаю: UTC отличается точкой отсчёта от "времени InterBase" - потребуется обновление всех существующих значений времени в полях записей базы или учёт сдвига в зависимости от используемого варианта времени.

Локальное время или время в заданном часовом поясе удобно или даже необходимо при работе с литералами.
Проблемы, как я их понимаю:
1. Клиент может работать с неверным UTC из-за некорректной установки часового пояса и отсутствия синхронизации с серверами точного времени;
2. Клиент может неверно вычислять смещение от UTC из-за некорректной базы часовых поясов;
3. Эти две проблемы могут комбинироваться.

Лично я считаю, что клиент должен передавать на сервер три элемента:
1. UTC, вычисленное клиентом;
2. Смещение локального времени клиента для этого момента UTC;
3. Идентификатор часового пояса на котором клиент делал вычисления.

Чтобы не хранить длинные строки идентификаторов часовых поясов предлагается добавить системную таблицу, где будут храниться "код, идентификатор часового пояса". Напомню, на всякий случай, что идентификатор это "Страна/Место" и их может быть сильно больше 256.
Таблицу добавить или в security.db (server-wide) или индивидуально в каждую базу.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826586
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
14.06.2019 10:38, Basil A. Sidorov пишет:
> Проблема, как я её понимаю: UTC отличается точкой отсчёта от "времени InterBase" -
> потребуется обновление всех существующих значений времени в полях записей базы
> или учёт сдвига в зависимости от используемого варианта времени.

дык тип данных новый, а не старый.
старое как жило, так и нехай себе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826600
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovЛично я считаю, что клиент должен передавать на сервер три элемента:
1. UTC, вычисленное клиентом;
2. Смещение локального времени клиента для этого момента UTC;
3. Идентификатор часового пояса на котором клиент делал вычисления.Почему клиент должен корячиться вычисляя UTC, и зачем серверу смещение, вычисленное клиентом (при условии наличия (3)) ?

Вот я, как клиент, имею БД, хранящую некоторые события, и записываю, что конференция в Бразилии начнётся 3.08.2019 в 9:00 по местному времени.
Накуа я должен при этом вычислять UTC и смещение ?
Я хочу положить в БД местное бразильское время и потом получить обратно его же.
Как его там внутри будет хранить сервер - мне, как клиенту, до лампочки.

Basil A. SidorovЧтобы не хранить длинные строки идентификаторов часовых поясов предлагается добавить системную таблицу, где будут храниться "код, идентификатор часового поясаЭта таблица живёт в данных TZ, и её не нужно тащить в каждую БД. В данный момент её копия есть в коде fbclient.
Basil A. Sidorovидентификатор это "Страна/Место" и их может быть сильно больше 256.632 в данный момент.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826604
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladBasil A. SidorovЧтобы не хранить длинные строки идентификаторов часовых поясов предлагается добавить системную таблицу, где будут храниться "код, идентификатор часового поясаЭта таблица живёт в данных TZ, и её не нужно тащить в каждую БД. В данный момент её копия есть в коде fbclient.Дополню - в каждой БД есть системная таблица RDB$TIME_ZONES, показывающая эти данные.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826613
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladВот я, как клиент, имею БД, хранящую некоторые события, и записываю, что конференция в Бразилии начнётся 3.08.2019 в 9:00 по местному времени.
Накуа я должен при этом вычислять UTC и смещение ?
Я хочу положить в БД местное бразильское время и потом получить обратно его же.Это всё замечательно работает, пока все клиенты в одном часовом поясе.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826614
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladПочему клиент должен корячиться вычисляя UTC

Чем это хуже получения UTC из time() и коряченья с результатом localtime()?

Вообще, ничто не мешает иметь SQL_LOCALTIMESTAMP_TZ рядом с SQL_TIMESTAMP_TZ и
использовать в XSQLVAR.sqltype тот, который больше подходит под имеющиеся (требующиеся)
данные. Серверу-то всё равно коерцить хранимое значение.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826619
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovhvladВот я, как клиент, имею БД, хранящую некоторые события, и записываю, что конференция в Бразилии начнётся 3.08.2019 в 9:00 по местному времени.
Накуа я должен при этом вычислять UTC и смещение ?
Я хочу положить в БД местное бразильское время и потом получить обратно его же.Это всё замечательно работает, пока все клиенты в одном часовом поясе.С чего ты взял ?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826621
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovhvladПочему клиент должен корячиться вычисляя UTC

Чем это хуже получения UTC из time() и коряченья с результатом localtime()?Откуда в моём сценарии выше вообще time() ?
Если юзеру нужно текущее время, он с гораздо большей вероятностью использует CURRENT_TIMESTAMP.
Но тут речь о другом.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826623
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladBasil A. SidorovЛично я считаю, что клиент должен передавать на сервер три элемента:
1. UTC, вычисленное клиентом;
2. Смещение локального времени клиента для этого момента UTC;
3. Идентификатор часового пояса на котором клиент делал вычисления.Почему клиент должен корячиться вычисляя UTC, и зачем серверу смещение, вычисленное клиентом (при условии наличия (3)) ?

Вот я, как клиент, имею БД, хранящую некоторые события, и записываю, что конференция в Бразилии начнётся 3.08.2019 в 9:00 по местному времени.
Накуа я должен при этом вычислять UTC и смещение ? Если бы TIMESTAMP хранился на сервере в UTC и также передавался до клиентской библиотеке, то вовсе не обязательно вычислять смещение саомому, так как все нормальные операционные системы имеют у себя актуальную информацию о часовых поясах (если регулярно обновляются) и соответствующие API функции, позволяющие конвертировать LocalTime<->UTC. В винде, например, начиная с Windows 2000:
SystemTimeToTzSpecificLocalTime (UTC в локальное)
TzSpecificLocalTimeToSystemTime (Локальное в UTC)
Перед передачей штампа времени на сервер делаешь TzSpecificLocalTimeToSystemTime, а при получении с сервера - SystemTimeToTzSpecificLocalTime прямо внутри fbclient. Делов-то...
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826627
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devЕсли бы TIMESTAMP хранился на сервере в UTCОн там хранится в UTC
rdb_devи также передавался до клиентской библиотекеНакуа клиенту UTC ?

rdb_devтак как все нормальные операционные системы имеют у себя актуальную информацию о часовых поясах (если регулярно обновляются)Вот это вот ЕСЛИ тебя губит.

И не надо мне рассказывать про WinApi, я немножко его знаю.
В отличие от тебя, показывающего не те ф-ции и не понимающего что в них не так.

И если потрудишься таки почитать доку, то узнаешь, что строковые идентификатры регионов в Win ни разу не соответствуют оным в ICU (IANA)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826634
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А откуда сервер узнает часовой пояс клиента?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826635
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу, сорри, уже спросили.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826637
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

его клиент сам должен сообщить
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826641
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНакуа клиенту UTC ?Предлагаешь, чтобы клиент каждый раз выполнял запрос к серверу, когда ему потребуется преобразовать отметку времени из одного часового пояса в другой или добавить-вычесть интервал?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826651
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladrdb_devЕсли бы TIMESTAMP хранился на сервере в UTCОн там хранится в UTCЯ имею в виду 64-битный штамп времени - 'TIMESTAMP WITHOUT TIME ZONE'

hvladrdb_devи также передавался до клиентской библиотекеНакуа клиенту UTC ?А почему БЫ нет, если fbclient экспортирует две функции - с UTC и локальным временем?

hvladrdb_devтак как все нормальные операционные системы имеют у себя актуальную информацию о часовых поясах (если регулярно обновляются)Вот это вот ЕСЛИ тебя губит.Лишь меня? Часто ли администраторы серверов ФБ обновляют их из снапшотов, даже при незначительных патчах? Теперь представь, что в государстве поменялся UTC DST или какой-то населённый пункт стал частью другого административно-территориального деления с другим часовым поясом, вы внесли соответствующие изменения, выкатели снапшот и что дальше? Администраторы серверов ФБ все как один ошалело ринулись обновлять свои серваки? Чот сомневаюсь я...

hvladИ не надо мне рассказывать про WinApi, я немножко его знаю.
В отличие от тебя, показывающего не те ф-ции и не понимающего что в них не так.Ну и ладно!... Добавить суффикс Ex и перед вызовом получать DYNAMIC_TIME_ZONE_INFORMATION вместо TIME_ZONE_INFORMATION.

hvladИ если потрудишься таки почитать доку, то узнаешь, что строковые идентификатры регионов в Win ни разу не соответствуют оным в ICU (IANA)Это не самая большая проблема, тем более, что в большинстве случаев это нафиг не надо, так как локальное время в fbclient через функции ОС и так сконвертируется без всяких идентификаторов часовых поясов.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826652
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovhvladНакуа клиенту UTC ?Предлагаешь, чтобы клиент каждый раз выполнял запрос к серверу, когда ему потребуется преобразовать отметку времени из одного часового пояса в другой или добавить-вычесть интервал?
Зачем ему туда-сюда гонять данную метку времени ? Нужно в другой TZ - сразу спроси в другой TZ.

Опять же, чтобы преобразовать время между часовыми поясами, нужно знать разницу между ними.
И пофигу в каком часовом поясе время изначально:
- если оно в UTC и помечено как TZ1, то чтобы получить TZ2 нужно добавить смещение TZ1 - UTC и потом добавить TZ2 - TZ1
- если оно сразу в TZ1 (и помечено как TZ1), то достаточно добавить TZ2 - TZ1

Если клиент умеет вычислять эти смещения, ему всё равно в каком виде ему дали время.
Если не умеет - то ой.

Зато для того, чтобы показать юзеру время в TZ1 (в котором юзер и ожидает его увидеть), то
- если время в UTC, то нужно преобразовать его в TZ1 (и для этого fbclient использует ICU)
- если оно сразу в TZ1, то ничего делать не надо
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826653
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамА откуда сервер узнает часовой пояс клиента?Вопрос с отрывом от контекста. Очень сложно понять - ты спрашиваешь или пытаешься кому-то возразить, задавая наводящие вопросы.
Вообще, SET TIME ZONE <tz_identifier>
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826658
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

я вообще перестал понимать твой словесный поток
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826664
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladrdb_dev, я вообще перестал понимать твой словесный потокТы просто устал. Хороших выходных! :)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826669
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devhvladrdb_dev, я вообще перестал понимать твой словесный потокТы просто устал. Хороших выходных! :)Можно и так завершить :) Взаимно :)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39826734
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЕсли клиент умеет вычислять эти смещения, ему всё равно в каком виде ему дали время.
Если не умеет - то ой.

Лично у меня интерес, как обычно, чисто шкурный: насколько я понимаю, плагин репликации
будет получать данные в формате хранения, то бишь UTC+ID. И то, что я получил на одном
конце, мне надо как-то скормить серверу на принимающем конце. Если тот принимает UTC+ID -
всё хорошо, а вот если он хочет локальное время + ID - тот самый "ой" в полный рост.

Поэтому я ещё раз жалобно попрошу возможность скармливать серверу с клиента UTC+ID.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39829091
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Форумяне, объясните мне, плз, результат. Сервер FirebirdSQL v4.0 (WI-T6.3.0.1510 Firebird 4.0 Beta 1) и isql (от него же) запущены на одном и том же компе под Win7. Время в системе московское и на момент выполнения запроса соответствует второму результату - '2019-06-21 10:44:46.8510 Europe/Moscow'. при выполнении в isql:
Код: plsql
1.
2.
3.
SET TIME ZONE 'UTC';
SELECT Cast(1 AS BIGINT) AS seq, CURRENT_TIMESTAMP FROM oneRow
UNION SELECT 2, Cast('NOW' AS TIMESTAMP WITH TIME ZONE) FROM oneRow;

Получаю результат:
Код: plaintext
1.
2.
3.
                  SEQ
===================== =========================================================
                    1 2019-06-21 07:44:46.8510 UTC
                    2 2019-06-21 10:44:46.8510 UTC

Т.е., CURRENT_TIMESTAMP выдаёт корректный результат, а приведение литерала 'NOW' выдаёт текущее время системы как UTC. Отсюда возникает пара вопросов:
1. Литерал 'NOW' интерпретируется именно как время клиента по UTC+Offset, где Offset определяется путём согласования времени между сервером и клиентом в подключении?
2. Корректность CURRENT_TIMESTAMP означает, что сервер в контексте SYSTEM имеет свой идентификатор часового пояса, определяемый через средства ОС?

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

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

# Default session or client time zone.
#
# If empty, the default is the OS time zone.
# When set in the server, it defines the default session time zone for attachments.
# When set in the client, it defines the default time zone used with client-side API functions.
#
# Type: string
#
#DefaultTimeZone =
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39829170
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devОтсюда возникает пара вопросов:
1. Литерал 'NOW' интерпретируется именно как время клиента по UTC+Offset, где Offset определяется путём согласования времени между сервером и клиентом в подключении?

Про 'NOW' напиши в трекер, чёт мне кажется это поведение не верное

rdb_dev2. Корректность CURRENT_TIMESTAMP означает, что сервер в контексте SYSTEM имеет свой идентификатор часового пояса, определяемый через средства ОС?


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

Симонов ДенисДа оно выставится в часовой пояс сервера, если ничего не указано, но это не часовой пояс сервера Firebird, а часовой пояс сессии по умолчанию, клиент всегда может его переключить/переопределить. Причём насколько я понял узнать об этом совершенно не возможноДумаю, тоже имеет смысл об этом спросить - через трекер или fb-devel
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39829233
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениснет. Ещё раз прочитай описания параметра DefaultTimeZone.Почитал, проверил и в очередной раз убедился, что к часовому поясу сервера этот параметр конфигурации вообще никак не относится. Собственно, там и написано, что параметр конфигурации сервера DefaultTimeZone отвечает за выбор часового пояса по умолчанию для клиентской сессии. Иными словами, для всех подключающихся клиентов сервер будет по умолчанию задавать указанный в параметре DefaultTimeZone часовой пояс, который клиент может переопределить тем же SET TIME ZONE.

Для проверки в конфигурационном файле сервера изменил DefaultTimeZone=UTC, перезапустил службу сервера, скопировал isql, fbclient.dll и icu файлы в отдельный каталог, откуда и запустил isql, выдав вышеприведённые "ыудусе" без предварительного SET TIME ZONE 'UTC'. Результат тот же и в точности с описанием параметра в конфигурационном файле:

Код: plaintext
1.
2.
3.
4.
5.
6.
SQL> SELECT Cast(1 AS BIGINT) AS seq, CURRENT_TIMESTAMP FROM oneRow
CON> UNION SELECT 2, Cast('Now' AS TIMESTAMP WITH TIME ZONE) FROM oneRow;

                  SEQ
===================== =========================================================
                    1 2019-06-21 11:26:28.0180 UTC
                    2 2019-06-21 14:26:28.0180 UTC

Потому в контекстах SYSTEM и USER_SESSION необходимо иметь разные контекстные переменные TIME_ZONE, из которых можно было бы получить часовой пояс сервера и часовой пояс клиента. Проблема только в сопоставлении часовых поясов IANA с представлением на ОС Windows.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39829240
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladСимонов ДенисПро 'NOW' напиши в трекер, чёт мне кажется это поведение не верное+1Данную проблему в трекере нужно описывать тому, кто способен её изложить на вразумительном инглише. Это не про меня... На форуме даже не всегда понимают то, что я излагаю на русском. :)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39829298
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devизменил DefaultTimeZone=UTC, перезапустил службу сервера, скопировал isql, fbclient.dll и icu файлы в отдельный каталог
я надеюсь, у тебя фб 4 не зарегано в реестре через instreg? Потому что в этом случае клиент на этом же компе найдет серверный firebird.conf, и возьмет нужные параметры оттуда.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39829300
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, не помню. Надо будет в понедельник проверить.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39829515
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvу тебя фб 4 не зарегано в реестре через instreg?Поиск конфига\клиента\и т.п. в реестре выпилили ещё в fb3
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39829730
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladkdvу тебя фб 4 не зарегано в реестре через instreg?Поиск конфига\клиента\и т.п. в реестре выпилили ещё в fb3ФБ3 не ставил. Выпилил всю ветку реестра [HKEY_LOCAL_MACHINE\SOFTWARE\Firebird Project], в ветке [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node] такого раздела не обнаружил, в конфиге сервера выставил DefaultTimeZone=UTC, перезапустил службу сервера. Из каталога сервера скопировал в отдельный каталог файлы: fbclient.dll, firebird.conf, firebird.msg, icudt63.dll, icudt63l.dat, icuin63.dll, icuuc63.dll, isql.exe. В конфиге клиента DefaultTimeZone по умолчанию.

Снова выполняю запрос без предварительного SET TIME ZONE, результат неизменен:
Код: plaintext
1.
2.
3.
4.
5.
6.
SQL> SELECT Cast(1 AS BIGINT) AS seq, CURRENT_TIMESTAMP FROM oneRow
CON> UNION SELECT 2, Cast('Now' AS TIMESTAMP WITH TIME ZONE) FROM oneRow;

                  SEQ
===================== =========================================================
                    1 2019-06-24 06:50:52.5700 UTC
                    2 2019-06-24 09:50:52.5700 UTC

Далее выставил в конфиге клиента "DefaultTimeZone=Europe/Moscow", перезапустил клиент сделал запрос - результат не изменился. Затем сделал SET TIME ZONE 'Europe/Moscow', результат:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SQL> SET TIME ZONE 'Europe/Moscow';
SQL> SELECT Cast(1 AS BIGINT) AS seq, CURRENT_TIMESTAMP FROM oneRow
CON> UNION SELECT 2, Cast('Now' AS TIMESTAMP WITH TIME ZONE) FROM oneRow;

                  SEQ
===================== =========================================================
                    1 2019-06-24 09:54:03.5770 Europe/Moscow
                    2 2019-06-24 09:54:03.5770 Europe/Moscow

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

ну так ты будешь Адриано писать? Или за тебя это сделать?

Правда я думаю это не в трекер пока надо, а для начала в fb-devel чтобы разъяснили, а то может сам дурак.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39829734
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу обратить внимание, что параметр конфигурации DefaultTimeZone клиента не перекрыл соответствующий параметр конфигурации сервера, что, на мой взгляд, некомильфо.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39829735
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисrdb_dev,

ну так ты будешь Адриано писать? Или за тебя это сделать?

Правда я думаю это не в трекер пока надо, а для начала в fb-devel чтобы разъяснили, а то может сам дурак.Неа, не буду!
Dimitr на одном из семинаров как-то говорил, что если не можете внятно на инглише изложить проблему в трекере, пишите на русском здесь - на форуме sql.ru, а мы, дескать, сами создадим тикет в трекере. :) Так что, пользуясь случаем...
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39829744
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devХочу обратить внимание, что параметр конфигурации DefaultTimeZone клиента не перекрыл соответствующий параметр конфигурации сервера, что, на мой взгляд, некомильфо.

ты опять не внимательно читал документацию. Написано же, что если в конфигурации сервера не указан DefaultTimeZone, то берётся часовой пояс сервера из ОС. Если DefaultTimeZone, не указан в конфигурации клиента, то берётся часовой пояс сессии по умолчанию, что равняется, тому что ты указал в конфиге сервера.

А вот поведение Cast('Now' AS TIMESTAMP WITH TIME ZONE) мне кажется не корректным, об этом и предлагаю спросить Адриано
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39829747
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисты опять не внимательно читал документацию. Написано же, что если в конфигурации сервера не указан DefaultTimeZone, то берётся часовой пояс сервера из ОС. Если DefaultTimeZone, не указан в конфигурации клиента, то берётся часовой пояс сессии по умолчанию, что равняется, тому что ты указал в конфиге сервера.Когда я указал в конфиге клиента DefaultTimeZone=Europe/Moscow, isql всё равно показал результат в UTC, так как в конфиге сервера DefaultTimeZone=UTC.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831074
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У кого Win10 (не ниже 1709) просьба проверить текущий снапшот на наличие этой ошибки.
Есс-но, IBE (isql, и т.п.) не должен брать fbclient из каталога в котором есть ICU.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831078
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточню

hvladWin10 (не ниже 1709)В ней есть предустановленная ICU
Подойдёт и другая версия Win, в которой установлена любая версия ICU и её можно найти в PATH.

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

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

Плохо :(

Но можно использовать сборки AppVeyour: https://ci.appveyor.com/project/FirebirdSQL/firebird

Выбираешь нужный image (например Image: Visual Studio 2017; Platform: x64)
Переходишь на вкладку Artifacts
скачиваешь output.zip
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831122
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

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

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

IBExpert на Win7 начинает ругаться быстрее, а не ждёт 3 минуты, это уже хорошо
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831153
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисIBExpert на Win7 начинает ругаться быстрее, а не ждёт 3 минуты, это уже хорошоЭто да. А ругается-то как ? :)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831169
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

эксперт не умеет нормально обрабатывать эту ситуацию там просто access vilation со стеком вызовов
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831187
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка в IBE
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Error Message:
----------------------------------------
Access violation at address 00000000. Read of address 00000000

[00403BDF] System.@HandleAnyException + $33
[004F5BF2] Firebird.IUtil.decodeTimeTz (Line 407, "Firebird.pas" + 1) + $1E
[00537E8D] FIBQuery.TFIBXSQLVAR.GetTimeZoneAsString (Line 2342, "FIBQuery.pas" + 11) + $44
[005325F8] FIBDataSet.TFIBDateTimeField.GetTimeZoneAsString (Line 6021, "FIBDataSet.pas" + 3) + $8
[005030E4] Db.TField.GetDisplayText (Line 3653, "DB.pas" + 4) + $8
[0099EE8E] dxTL.TCustomdxTreeListControl.GetCellText (Line 19064, "dxTL.pas" + 1) + $D
[009969E4] dxTL.TCustomdxTreeList.DrawCellEx (Line 14469, "dxTL.pas" + 6) + $E
[0098CA31] dxTL.DrawCells (Line 8993, "dxTL.pas" + 425) + $C8
[0098E28D] dxTL.TCustomdxTreeList.Paint (Line 9425, "dxTL.pas" + 44) + $1
[0045C263] Controls.TCustomControl.PaintWindow (Line 8209, "Controls.pas" + 6) + $5
[004580DE] Controls.TWinControl.PaintHandler (Line 5788, "Controls.pas" + 4) + $13
[004585AB] Controls.TWinControl.WMPaint (Line 5923, "Controls.pas" + 6) + $4
[00458643] Controls.TWinControl.WMPaint (Line 5936, "Controls.pas" + 19) + $4
[0045C1FC] Controls.TCustomControl.WMPaint (Line 8198, "Controls.pas" + 2) + $4
[0098E4FC] dxTL.TCustomdxTreeList.WndProc (Line 9517, "dxTL.pas" + 47) + $4
[00444388] Forms.StdWndProc (Line 1459, "Forms.pas" + 8) + $0
[0044DB97] Forms.TApplication.ProcessMessage (Line 6630, "Forms.pas" + 13) + $1
[00FAA5B9] IBEErrorF.IBEError (Line 39, "IBEErrorF.pas" + 5) + $5
[00FEF189] Main.TIBEMainForm.AppEventsException (Line 11566, "Main.pas" + 23) + $3
[0044DE81] Forms.TApplication.HandleException (Line 6752, "Forms.pas" + 6) + $F
[00444388] Forms.StdWndProc (Line 1459, "Forms.pas" + 8) + $0
[0044DB97] Forms.TApplication.ProcessMessage (Line 6630, "Forms.pas" + 13) + $1
[01123576] IBExpert.IBExpert (Line 935, "D:\Projects_5\IBExpert\IBExpert.dpr" + 147) + $7


Кстати с ICU файлами в папке с клиентом всё равно ругается. Судя по process explorer эксперт загрузил iсu30 от embedded 2.5, которая используется для хранения настроек и успокоился
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831233
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисКстати с ICU файлами в папке с клиентом всё равно ругается. Судя по process explorer эксперт загрузил iсu30 от embedded 2.5, которая используется для хранения настроек и успокоился

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

это понятно, загрузил её fbembed.dll, а клиент 4.0 просто нашёл загруженный образ и решил, что дальше искать не надо (ну по крайней мере мне так кажется)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831277
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBE 2019.6.4.1
Win7

Cкопированный в отдельный каталог fbclient.dll + firebird.msg (без ICU)

Запрос в IBE

select current_timestamp from rdb$database

Результат

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Error Message:
----------------------------------------
SQLCODE: -902
GDSCODE: 335545167

Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements.
Could not find acceptable ICU library.
Missing entrypoint ucal_getTZDataVersion in ICU library.
Error loading ICU library version 3.0.


[005451A7] FIB.CheckIStatus (Line 630, "FIB.pas" + 55) + $2
[0054791D] ib_intf.TFIBIntf.TimeZoneToString (Line 947, "IB_Intf.pas" + 7) + $4
[0053285A] FIBDataSet.TFIBDateTimeField.GetTimeZoneAsString (Line 6056, "FIBDataSet.pas" + 3) + $16
[005030E4] Db.TField.GetDisplayText (Line 3653, "DB.pas" + 4) + $8
[0099F67E] dxTL.TCustomdxTreeListControl.GetCellText (Line 19064, "dxTL.pas" + 1) + $D
[009971D4] dxTL.TCustomdxTreeList.DrawCellEx (Line 14469, "dxTL.pas" + 6) + $E
[0098D221] dxTL.DrawCells (Line 8993, "dxTL.pas" + 425) + $C8
[0098EA7D] dxTL.TCustomdxTreeList.Paint (Line 9425, "dxTL.pas" + 44) + $1
[0045C263] Controls.TCustomControl.PaintWindow (Line 8209, "Controls.pas" + 6) + $5
[004580DE] Controls.TWinControl.PaintHandler (Line 5788, "Controls.pas" + 4) + $13
[004585AB] Controls.TWinControl.WMPaint (Line 5923, "Controls.pas" + 6) + $4
[00458643] Controls.TWinControl.WMPaint (Line 5936, "Controls.pas" + 19) + $4
[0045C1FC] Controls.TCustomControl.WMPaint (Line 8198, "Controls.pas" + 2) + $4
[0098ECEC] dxTL.TCustomdxTreeList.WndProc (Line 9517, "dxTL.pas" + 47) + $4
[00444388] Forms.StdWndProc (Line 1459, "Forms.pas" + 8) + $0
[0044DB97] Forms.TApplication.ProcessMessage (Line 6630, "Forms.pas" + 13) + $1
[01125846] IBExpert.IBExpert (Line 935, "D:\Projects_5\IBExpert\IBExpert.dpr" + 147) + $7

Копирую к fbclient'у файлы ICU из каталога сервера.
Запрос выполняется без проблем.
В процессе IBE два набора ICU - 3.0 от его копии embedded и 63 из каталога с клиентом.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831302
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хах переместил клиент на диск C там же где установлен IBE и всё заработало. Пока fbclient.dll был в отдельной папке на диске D не хотел ни в какую
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831331
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы dll-ка грузила "дополнительные" dll из собственного каталога надо создать рядышком файл нулевого размера с именем "библиотека.dll.local" - Dynamic-Link Library Redirection .
Аналогично, если создать каталог "программа.exe.local", то dll-ки для программы будут загружаться из этого каталога. Не работает для Windows 7 без SP1.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831382
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проверил на win-10 без ICU в папке с fbclient. Подгрузились системные icu :)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831385
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениспроверил на win-10 без ICU в папке с fbclient. Подгрузились системные icu :)Это хорошо. Без паузы, надеюсь ?
Кстати, какая у тебя версия Win10 и какая - ICU ?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831388
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

Загрузилось довольно быстро
win 10 x64 1809. ICU - 61.0.1
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39831390
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.

Обновляют значит, достаточно регулярно:
1709 - 51
1803 - 59
1809 - 61

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

бррр... это я перепутал 61.1.0.0
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832616
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ICU требуется только для таймзон, почему бы не грузить таблицу с сервера?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832626
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ICU требуется для вычисления UTC времени из регионального и наоборот.
Ибо на сервер нужно передать UTC (и смещение\ид региона) и с сервера тоже вернётся UTC (и смещение\ид региона).
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832639
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо, вопрошавший интересовался: "почему эти все манипуляции нужно делать на клиенте?".
у Оракла NLS-параметры сессии определяют что и как сервер отдаст клиенту.
клиент "думать" не обязан.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832648
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий"почему эти все манипуляции нужно делать на клиенте?"Потому что Адриано так решил.
Остальным либо плевать, либо лень шевелить мозгами.
Марк, который это поддержал, упирает на то, что если он (Jaybird) не понимает код региона, то тогда сможет показать хотя бы UTC время.
Более осмысленных агрументов за такую реализацию я не видел.

Мимопроходящийу Оракла NLS-параметры сессии определяют что и как сервер отдаст клиенту.
клиент "думать" не обязан.Это тоже не всегда правильно.
Если я сохранил метку времени с привязкой к региону (скажем Бразилия), то с какого перепуга я должен назад её получить с привязкой к моему локальному региону ?

У нас, если задать SET TIME ZONE BIND LEGACY, будет возвращаться старый тип данных (без таймзоны), приведенный к таймзоне сессии.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832654
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
02.07.2019 11:24, hvlad пишет:
> Потому что Адриано так решил.

я всегда говорил, что он пацан.
у некоторых это с возрастом проходит.
но не у всех.


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

ну ладно в windows 10 это хотя бы нормально работает. А вот в других windows надо будет за актуальностью icudt*.dat следить :-(
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832684
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
02.07.2019 12:06, Симонов Денис пишет:
> ну ладно в windows 10 это хотя бы нормально работает. А вот в других windows надо будет за актуальностью icudt*.dat следить :-(

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

с чего ты взял что у Адриано вообще windows?
У мелкософта вообще планы одну десятку оставит и будет обновлять только её.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832691
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийу Оракла NLS-параметры сессии определяют что и как сервер отдаст клиенту.
клиент "думать" не обязан.

Но тем не менее у него NLS-файлы как раз часть клиента и без их правильной установки
сессию организовать не получится.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832692
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
02.07.2019 12:13, Симонов Денис пишет:
> У мелкософта вообще планы одну десятку оставит и будет обновлять только её.

у мелкософта семь пятниц на неделе - норма жизни.
они уже хоронили ODBC.
потом откапывали ODBC и хоронили OLEDB.
потом снова воскресили OLEDB.
и так всегда и во всём...

тут надысь Жадный Билли "воскрес".
и со слезами на устах поведал миру о своей вселенской скорби,
что мало внимания уделил мобильным системам
и именно по этой причине расплодились всякие богомерзкие ведроиды...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832693
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
02.07.2019 12:18, Dimitry Sibiryakov пишет:
> Но тем не менее у него NLS-файлы как раз часть клиента и без их правильной установки
> сессию организовать не получится.

у них клиенты разные бывают.
в том числе и "голые", типа нашенского Jaybird.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832725
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисIBExpert,
это понятно, загрузил её fbembed.dll, а клиент 4.0 просто нашёл загруженный образ и решил, что дальше искать не надо (ну по крайней мере мне так кажется)У меня в "%SystemRoot%\SysWOW64" лежат библиотеки icu v3.0, icu v6.4.2, fbembed25.dll, fbclient25.dll и fbclient40.dll. Для работы с "ibexpert.udb" IBExpert грузит fbembed25.dll, который хавает icu 3.0, а при коннекте к прочим БД у меня указан fbclient40.dll, который без вопросов хавает свежие библиотеки icu v6.4.2, причём, без переименования последних. Единственная проблема - dat файл, что надо собирать отдельно под VS, которого у меня нет.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832737
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devУ меня в "%SystemRoot%\SysWOW64" лежат библиотеки icu v3.0, icu v6.4.2, fbembed25.dll, fbclient25.dll и fbclient40.dll.

зачем ты их туда набросал?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832738
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devЕдинственная проблема - dat файл, что надо собирать отдельно под VS, которого у меня нет.А что у тебя есть ? И с чего ты взял, что dat файл сильно нужен ? :)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832742
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, что бы работало без прописывания в PATH пути до каталога с сервером Firebird. Тем более, что сервер на архитектуре AMD64, а клиент в SysWOW64 - x86 (из параллельного x86 снапшота). Поэтому, проще закинуть shared библиотеки туда, где им место и оттуда грузить, при том, что "%SystemRoot%\system32" для 32-х разрядных образов мапится на SysWOW64 и по умолчанию присутствует в PATH.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832743
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

кстати я уже говорил, как только я каталог с клиентом переместил на системный диск и обитает IBExpert, стандартная ICU которая поставляется с fbclient схавалась без проблем. В win10 вообще системная icu дёргается, даже при наличии своей в каталоге с fbclient.
Заметь я не размещал fbclient куда-то глубоко в системные папки. Просто лежит c:/firebird/4.0/client32/fbclient.dll


rdb_dev fbclient40.dll

после переименования можешь огрести при попытке использовать 4.0 в качестве embedded
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832745
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladА что у тебя есть ? 21890968

hvladИ с чего ты взял, что dat файл сильно нужен ? :)Симонов Денис писал, что, вроде как, "icudt##l.dat" нужна, а сам я не вдавался в детали - занафига. Хорошо, если нет...
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832747
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

насколько я понял таблица смещений для часовых поясов живёт в .dat файле. Хотя есть варианты когда эти данные находятся в .res файлах, либо компилированы в dll.

http://userguide.icu-project.org/icudata
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832753
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

расжёвываю - icudt64.dll какого размера ?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39832940
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad, взял из официального релиза проекта icu-project.org , размер "icudt64.dll" - 27 534 336 байт. Понятно, данные, используемые по умолчанию, находятся в ресурсах библиотеки.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39833117
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladICU требуется для вычисления UTC времени из регионального и наоборот.
Ибо на сервер нужно передать UTC (и смещение\ид региона) и с сервера тоже вернётся UTC (и смещение\ид региона).
Получать текущий UTC, насколько я знаю, можно и в Линь, и в Вынь. Код региона тоже из системных настроек. А эту самую таблицу смещений можно вытаскивать клиентом с сервера. (Просто мои 5 коп и взгляд со стороны).
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39833119
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,

Как мне поможет "текущий UTC" определить UTC для даты\времени события в Сингапуре через 4 года
(которое я хочу записать в БД - календарь) ?

Далее - узнай какие бывают виды кодов регионов.
Потом узнай, что такое "таблица смещений" и с чем её едят.
Потом поговорим, если ещё будет о чём.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39833126
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2Получать текущий UTC, насколько я знаю, можно и в Линь, и в Вынь. Код региона тоже из системных настроек. А эту самую таблицу смещений можно вытаскивать клиентом с сервера. (Просто мои 5 коп и взгляд со стороны).

Ага, я тоже так думал... Пока не поигрался с RDB$TIME_ZONE_UTIL.TRANSITIONS
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39833133
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,

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

ты размер этой "таблицы" смещений то смотрел? Я имею ввиду полный размер с учётом всех часовых поясов и диапазонов дат
Никто ж не заставляет целиком гонять всю таблицу.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39833345
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2мне это не нужно, не сильно мешает и не интересноИногда лучше молчать... (ц)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39833713
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladИногда лучше молчать... (ц)
Конечно! Надо чтоб вообще все юзеры FB молчали, просто ругаясь про себя на встреченные баги. И не лезли с предложениями. Разработчики же умные, сами знают что делать.

Я просто предложил на мой взгляд неплохой и удобный вариант. А ты от меня требуешь вникать, разбираться, может еще половину кодовой базы перелопатить... зачем?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39833718
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2Конечно! Надо чтоб вообще все юзеры FB молчали, просто ругаясь про себя на встреченные баги. И не лезли с предложениями. Разработчики же умные, сами знают что делать.Типичный демагог.

Василий 2Я просто предложил на мой взгляд неплохой и удобный вариантТебе объяснили, что он никуда не годится.
В ответ ты рассказал, что тебе это не нужно и не интересно.
И кто здесь ковыряет пальцем в носу ?

Василий 2А ты от меня требуешь вникать, разбиратьсяЯ прошу думать головой, перед тем, как что-то предлагать. Да, для этого нужно разбираться в том вопросе, о котором идёт речь. Неожиданно ?
Ибо - да - разработчикам приходится быть умными и таки знать, что они делают.
Разработчикам любого продукта, заметь.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39833767
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий02.07.2019 11:24, hvlad пишет:
> Потому что Адриано так решил.

я всегда говорил, что он пацан.

Да не, в смысле да - сказал и сделал :)

Наверное надо было сделать чтобы сервер мог принимать и смещение и зону.

Но отдавал только что-то одно. По умолчанию - смещение.

Так?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39833769
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
04.07.2019 12:25, Коваленко Дмитрий пишет:
> Но отдавал только что-то одно. По умолчанию - смещение.
> Так?

йез ыт ыз!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834175
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladВасилий 2,

Как мне поможет "текущий UTC" определить UTC для даты\времени события в Сингапуре через 4 года
(которое я хочу записать в БД - календарь) ?Очень просто! Прибавляешь к текущему UTC 4 года и получаешь UTC для даты/времени через 4 года где угодно и в Сигнапуре в том числе. UTC, он ведь и в Сигнапуре - UTC. Если тебе надо что-то пнуть на сервере в предполагаемое время, просто пинаешь, когда приходит срок, а если надо вернуть это время клиенту - возвращаешь его клиенту как есть и пусть клиент сам решает, что ему с этим UTC делать - приводить к локальному или хавать как есть.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834187
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

перестань маяться фигнёй. В текущей реализации дат с тайм-зонами время и так храниться в UTC + timezone id
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834192
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

пользователь вводит свою дату. Причём тут текущее время? Ты что там предлагаешь какие-то идиотские пересчёты через текущее время клиента делать?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834197
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devhvladКак мне поможет "текущий UTC" определить UTC для даты\времени события в Сингапуре через 4 года
(которое я хочу записать в БД - календарь) ?Очень просто! Прибавляешь к текущему UTC 4 года и получаешь UTC для даты/времени через 4 года где угодно и в Сигнапуре в том числеЯ хочу записать в БД дату\время '12.5.2024 9:00' по Сингапурскому местному времени.
Как мне в этом поможет моё UTC ?

rdb_devпусть клиент сам решает, что ему с этим UTC делать - приводить к локальному или хавать как естьЯ такой клиент, который не имеет у себя ICU и не может приводить UTC к локальному (да ещё и не местному).

Если бы у меня (клиента) был ICU - всего этого топика не было бы.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834217
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladИбо - да - разработчикам приходится быть умными и таки знать, что они делают.
Разработчикам любого продукта, заметь.
Судя по репликам в адрес одного из главных разработчиков, ему эта истина неведома ))
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834225
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисrdb_dev,
перестань маяться фигнёй. В текущей реализации дат с тайм-зонами время и так храниться в UTC + timezone idИ нафиг мне упёрлись эти два байта в каждой записи со временем, которые, при сильной необходимости, можно хранить в отдельном поле, взяв информацию из контекста сессии?

Симонов Дениспользователь вводит свою дату. Причём тут текущее время? Ты что там предлагаешь какие-то идиотские пересчёты через текущее время клиента делать?При установке Линуха пользователь тоже вводит свою дату, а установщик, по умолчанию, предполагает, что RTC хранит время в UTC. Как-то же справляется...
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834231
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,

ты сам то fbdevel читал? Адриано вполне обоснованно отстаивает свою реализацию.
Единственный разумный контраргумент это зависимость от ICU в Windows.
Собственно разумных альтернатив текущей реализации предложено не было, кроме предложения Влада, но там сразу же нашлись противники из стана NET и Java. Так что скорее всего в этом плане ничего не изменится.
Хорошо хоть с поиском ICU ситуацию поправили.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834233
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devИ нафиг мне упёрлись эти два байта в каждой записи со временем, которые, при сильной необходимости, можно хранить в отдельном поле, взяв информацию из контекста сессии?Тебя никто не заставляет пользоваться новыми типами данных.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834234
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисТак что скорее всего в этом плане ничего не изменится.Не кажи гоп... (ц)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834236
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

ой как страшно целые 2 байта!!! А ничего, что DECFLOAT(34) требует аж 16 байт?

rdb_devПри установке Линуха пользователь тоже вводит свою дату, а установщик, по умолчанию, предполагает, что RTC хранит время в UTC. Как-то же справляется...

вы сударь фигню молвите. Пользователь может указать дату с другим (не своим) часовым поясом. И получать дату он может не обязательно в своём часовом поясе
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834240
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
05.07.2019 10:46, hvlad пишет:
> Не кажи гоп... (ц)

дядюшка Мокус, можно, я кину в них грязью? (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834242
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЯ хочу записать в БД дату\время '12.5.2024 9:00' по Сингапурскому местному времени.
Как мне в этом поможет моё UTC ?Зачем в БД хранить именно Сингапурское время? В этом может быть какой-то особый смысл только в случае, когда необходимо знать из какого часового пояса был клиент, из сессии которого была инициирована в БД запись со штампом времени.

hvladrdb_devпусть клиент сам решает, что ему с этим UTC делать - приводить к локальному или хавать как естьЯ такой клиент, который не имеет у себя ICU и не может приводить UTC к локальному (да ещё и не местному).
Если бы у меня (клиента) был ICU - всего этого топика не было бы.Венда до WinX как-то справлялась с приведением времени и без icu библиотек - своими силами. Собственно, с этим прекрасно справляется любая нормальная операционная система.

Теперь представим ситуацию, что в БД ты записал UTC+сингапурский_id, рассчитанный на 4 года вперёд, а в этой республике за 4 года правительство выкатило постановление об изменении часового пояса и так как, ПРЕДПОЛОЖИМ, администратор сервера или разработчик БД или разработчики СУБД не следили за постановлениями правительства Сингапура и за изменениями IANA таблицы часовых поясов, данные об этих изменениях попали только в регулярно обновляющуюся у сингапурского клиента ОС. И чо?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834246
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladrdb_devИ нафиг мне упёрлись эти два байта в каждой записи со временем, которые, при сильной необходимости, можно хранить в отдельном поле, взяв информацию из контекста сессии?Тебя никто не заставляет пользоваться новыми типами данных.TIMESTAMP WITHOUT TIME ZONE хранит штамп времени в UTC?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834250
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devTIMESTAMP WITHOUT TIME ZONE хранит штамп времени в UTC?

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

тебя никто не заставляет. Может ты прежде чем свои предположения делать почитаешь стандарт
и узнаешь что именно должно храниться в типе TIMESTAMP WITH TIME ZONE.
В самом определении типа ясно указано штамп времени с информацией о часовом поясе.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834252
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисой как страшно целые 2 байта!!! А ничего, что DECFLOAT(34) требует аж 16 байт?+2 абсолютно бесполезных, в большинстве случаев, байта на каждую запись. Для хранения чисел с плавающей точкой есть широкий выбор типов данных и, ко всему прочему, в DECFLOAT все биты такого типа используются для необходимой разработчику БД точности числа, но с TIMESTAMP у меня нет такого широкого выбора - нет типа UTCSTAMP на 8 байт.

Симонов Денисrdb_devПри установке Линуха пользователь тоже вводит свою дату, а установщик, по умолчанию, предполагает, что RTC хранит время в UTC. Как-то же справляется...вы сударь фигню молвите. Пользователь может указать дату с другим (не своим) часовым поясом. И получать дату он может не обязательно в своём часовом поясеКонечно может! Пользователь выставляет часовой пояс, а ОС предполагает, что RTC хранит UTC и затем для графического отображения локального времени на экране система осуществляет приведение времени из UTC в локальное, в соответствии с выбранным пользователем часовым поясом. Это же очевидно!
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834258
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

я тебе ещё раз повторяю. Почитай уже спецификацию TIMESTAMP WITH TIME ZONE.
Эта штуковина должна возвращать штамп времени так как он был введён, т.е. локальное время + инфа о часовом поясе. Если нужно иное делают преобразование в другой часовой пояс или локальное время.

Если тебе не нужна информация о часовом поясе используй TIMESTAMP WITHOUT TIME ZONE и не морщ нам мозг.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834263
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, в linux'е есть пакет tzdata.
который содержит данные о часовых поясах всего мира и правилах перехода на летнее/зимнее время.
он периодически обновляется, чтобы отразить изменения, принимаемые в различных странах.
и ICU ему для этого нафиг не нужен, вообще-то.
мухи отдельно, котлеты отдельно.

зы: только что прилетел пакет обновления.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834264
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovrdb_devTIMESTAMP WITHOUT TIME ZONE хранит штамп времени в UTC?
Он хранит то, что ты в него положил.И как мне в триггере на добавление/обновление из CURRENT_TIMESTAMP или 'NOW' положить в поле TIMESTAMP WITHOUT TIME ZONE штамп времени в UTC, если в ОС сервера выбран часовой пояс 'Europe/Moscow', да так, чтобы и сервер FirebirdSQL и его клиент - fbclient понимали, что в этом поле имеют дело с UTC?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834268
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, мне не нужен UTC с двумя байтами часового пояса. Мне нужен просто UTC - 8 байт.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834280
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийкстати, в linux'е есть пакет tzdata.
который содержит данные о часовых поясах всего мира и правилах перехода на летнее/зимнее время.
он периодически обновляется, чтобы отразить изменения, принимаемые в различных странах.
и ICU ему для этого нафиг не нужен, вообще-то.
мухи отдельно, котлеты отдельно.

зы: только что прилетел пакет обновления.О том и речь! Но пацаны, почему-то, отказываются осознавать, что обновления часовых поясов в ОС прилетают чаще и автоматом, а для обновления информации о часовых поясах на сервере FirebirdSQL придётся делать дополнительные приседания. Вопрос - какие?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834281
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

приводи CURRENT_TIMESTAMP к UTC всего делов-то. Или сделай свою UDR возвращающую UTC. Или попроси встроенную функцию в трекере для возврата UTC. Специального типа для UTC не нужно
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834289
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

1. вообще-то в массе Windows распространён куда шире Linux
2. Идентификация часовых поясов в Win, Linux, Mac OS может быть сделана по разному. Влад уже говорил, что как минимум в Win и ICU они отличаются. Если делать таблицу соответствия, то поддерживать её это ничуть не лучше обновления ICU
3. Начиная с Win10 ICU встроена в систему и обновляется регулярно
4. В Firebird ICU и так применяется для различных COLLATE, правда до 4.0 она требовалась только на сервере
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834294
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисrdb_dev,

1. вообще-то в массе Windows распространён куда шире Linux
2. Идентификация часовых поясов в Win, Linux, Mac OS может быть сделана по разному. Влад уже говорил, что как минимум в Win и ICU они отличаются. Если делать таблицу соответствия, то поддерживать её это ничуть не лучше обновления ICUОднако, разработчики FirebirdSQL делают сборки для всех этих ОС и я сильно сомневаюсь, что сервер использует исключительно POSIX API и нигде не использует #ifdef с индивидуализацией кода по ОС.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834297
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

фразу про таблицу соответствия ты конечно же пропустил
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834316
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devhvladЯ хочу записать в БД дату\время '12.5.2024 9:00' по Сингапурскому местному времени.
Как мне в этом поможет моё UTC ?Зачем в БД хранить именно Сингапурское время?Мне, как клиенту, пофиг что и как хранит БД.
Но мне же НЕ пофиг чтобы БД выдала мна обратно то, что я туда положил.
И в том же самом виде.

rdb_devВ этом может быть какой-то особый смысл только в случае, когда необходимо знать из какого часового пояса был клиент, из сессии которого была инициирована в БД запись со штампом времени.Я сохраняю время события, которое происходит в Сингапуре по местному времени.
На кой чёрт мне время этого события в UTC ???
Ещё раз - я клиент и у меня нет возможности конвертировать время между таймзонами.

rdb_devВенда до WinX как-то справлялась с приведением времени и без icu библиотек - своими силами.Как-то справлялась - это ты мягко пошутил.

rdb_devСобственно, с этим прекрасно справляется любая нормальная операционная система.Ну давай, расскажи как это происходит
- в необновляемой Windows
- в обновляемой Windows
- в обновляемом Linux


rdb_devТеперь представим ситуацию, что в БД ты записал UTC+сингапурский_id, рассчитанный на 4 года вперёд, а в этой республике за 4 года правительство выкатило постановление об изменении часового пояса и так как, ПРЕДПОЛОЖИМ, администратор сервера или разработчик БД или разработчики СУБД не следили за постановлениями правительства Сингапура и за изменениями IANA таблицы часовых поясов, данные об этих изменениях попали только в регулярно обновляющуюся у сингапурского клиента ОС. И чо?Какие ко мне претензии, как к разработчику СУБД в этой ситуации ?
Способов выстрелить себе в ногу - больше, чем ты можешь придумать.
Но это не значит, что мы должны создавать новые.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834324
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийкстати, в linux'е есть пакет tzdata.
который содержит данные о часовых поясах всего мира и правилах перехода на летнее/зимнее время.
он периодически обновляется, чтобы отразить изменения, принимаемые в различных странах.
и ICU ему для этого нафиг не нужен, вообще-то.
мухи отдельно, котлеты отдельно.ICU использует именно эти данные.
И предоставляет ещё много связанных сервисов.
ICU в любом случае используется на стороне сервера.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834329
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
05.07.2019 12:46, hvlad пишет:
> ICU использует именно эти данные.

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

вот если бы вместе с timezone_id передавалось ещё и смещение, то он был не бы нужен. А так по одному id смещение без ICU хрен узнаешь.

Влад предложил ещё один вариант передавать не UTC + id, а преобразованное время + id. Собственно в этом варианте ICU всё равно может потребоваться, если надо будет преобразовать время к другому часовому поясу, но это более редкий случай.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834340
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
05.07.2019 13:00, Симонов Денис пишет:
> Влад предложил ещё один вариант передавать не UTC + id, а преобразованное время + id.

дык и я за это обеими ногами!
передавать UTC - маразм.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834359
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисвот если бы вместе с timezone_id передавалось ещё и смещение, то он был не бы нужен.

Влад и предлагал передавать их обеих.

Симонов ДенисВлад предложил ещё один вариант передавать не UTC + id, а
преобразованное время + id.
Почему бы не решать это на этапе data coercion? Если приложение в sqltype запросило
SQL_TIMESTAMP_TZ - получает (и отправляет) UTC+TZ, а если какой-нибудь
SQL_LOCAL_TIMESTAMP_TZ - то локальное время + TZ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834363
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovСимонов Денисвот если бы вместе с timezone_id передавалось ещё и смещение, то он был не бы нужен.

Влад и предлагал передавать их обеих.


тут rdb_dev за 2 байта сильно беспокоиться, а это ещё 2 байта добавить
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39834756
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийкстати, в linux'е есть пакет tzdata.
который содержит данные о часовых поясах всего мира и правилах перехода на летнее/зимнее время.
он периодически обновляется, чтобы отразить изменения, принимаемые в различных странах.
и ICU ему для этого нафиг не нужен, вообще-то.
мухи отдельно, котлеты отдельно.

зы: только что прилетел пакет обновления.


Имел секас с этим делом.
Идея конечно правильная.
Но, к сожалению, те люди которые принимают законы о подвижке временных поясов, принятия/отмене летнего/зимнего времени - нихрена про этот tzdata не знают и знать не хотят. Посему информация о реальных изменениях во временных поясах попадает в этот tzdata постфактум, причем через достаточно большое время. И тут у меня возникает вопрос - если при записи времени события с таймзоной эта зона определяется как локальное время + информация о временной зоне ПО ТЕКУЩЕЙ ИНФОРМАЦИИ в tzdata, то после того как информация в tzdata наконец-то поменялась - мы получим из базы другое время?

Ну и в моем случае, на сервере стояла очень старая убунта к которой уже не было обновления.
Текущий формат tzdata уже не подходит к той программе что была в убунте. Пришлось вручную обновить весь пакет.
Однако и в свежайшем tzdata в информации по Новосибирску были неверные (т.е. устаревшие) данные. Пришлось тупо выбрать фиксированное смещение от GMT.

Так что ваши надежды на то что где-то там хранится совершенно достоверная информация, мне кажется излишне оптимистичным.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39924623
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал в субботу поставить себе четверку, скачал текущий линуксовый снапшот с офсайта, ставлю, получаю
"не могу подхватить icu"
обновил оную icu с 52 версии до 65, сейчас стоит вот такая:
Нет кандидатов на обновление "icu-65.1-141.1.x86_64". Самая последняя версия уже установлена.

Какую icu трэба файрберду 4.0?

С тройкой ругани на icu не было ни со старой версией, ни с новой. Вернул тройку обратно, все завелось с полтычка.
я понимаю, что сделал прыжок сразу на дюжину версий... перепрыгнул нужную?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39924640
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

6.3

Кто не может подхватить клиент или сервер?
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39924641
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky
Попробовал в субботу поставить себе четверку, скачал текущий линуксовый снапшот с офсайта, ставлю, получаю
"не могу подхватить icu"
Можно не придумывать свои сообщения об ошибках ? Ну не первый день замужем же :(

Ivan_Pisarevsky
обновил оную icu с 52 версии до 65, сейчас стоит вот такая:
Нет кандидатов на обновление "icu-65.1-141.1.x86_64".
Можешь найти точное имя файла любой из библиотек, например libicuinXXX.so ?

Ivan_Pisarevsky
Какую icu трэба файрберду 4.0?
Собирается с 63-ей, но и 65-я должна работать (если там не было радикальных изменений интерфейса)
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39924745
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Можешь найти точное имя файла любой из библиотек, например libicuinXXX.so ?
Похоже 65 впендюрилась рядом, симлинк указывает на 52. Грешен, не проверил.
hvlad
Собирается с 63-ей, но и 65-я должна работать
Спасибо. 52 похоже решительно стара.
В текущем 7 центосе в репе вообще 50 лежит, некроманты, блин.

hvlad
Можно не придумывать свои сообщения об ошибках ?
Пошел делать работу над ошибками.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39924823
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Можно не придумывать свои сообщения об ошибках ? Ну не первый день замужем же :(

было
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
linux-p3is:/opt/Firebird-4.0.0.1766-Beta1.amd64 # ./install.sh

Firebird 4.0.0.1766-Beta1.amd64 Installation

Press Enter to start installation or ^C to abort
Extracting install data
Updated /etc/services
Please enter new password for SYSDBA user: masterkey
unable to open database
Could not find acceptable ICU library

Install completed

linux-p3is:/opt/Firebird-4.0.0.1766-Beta1.amd64 # zypper in icu
Загрузка данных о репозиториях...
Предупреждение: Репозиторий "openSUSE-Leap-15.0-Update-Non-Oss" устарел. Используйте другое зеркало или сервер.
Чтение установленных пакетов...
"icu" уже установлен.
Нет кандидатов на обновление "icu-60.2-lp150.1.4.x86_64". Самая последняя версия уже установлена.
Разрешение зависимостей пакетов...

Нечего выполнять.
linux-p3is:/opt/Firebird-4.0.0.1766-Beta1.amd64 # cd /usr/lib64
linux-p3is:/usr/lib64 # ls | grep icu
icu
libharfbuzz-icu.so
libharfbuzz-icu.so.0
libharfbuzz-icu.so.0.10705.0
libicudata.so
libicudata.so.60_2
libicudata.so.60.2
libicui18n.so
libicui18n.so.60_2
libicui18n.so.60.2
libicuio.so
libicuio.so.60_2
libicuio.so.60.2
libicutest.so
libicutest.so.60_2
libicutest.so.60.2
libicutu.so
libicutu.so.60_2
libicutu.so.60.2
libicuuc.so
libicuuc.so.60_2
libicuuc.so.60.2
linux-p3is:/usr/lib64 #

стало
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
linux-p3is:/opt/Firebird-4.0.0.1766-Beta1.amd64 # ./install.sh

Firebird 4.0.0.1766-Beta1.amd64 Installation

Press Enter to start installation or ^C to abort
Extracting install data
Updated /etc/services
Please enter new password for SYSDBA user: masterkey
unable to open database
Could not find acceptable ICU library

Install completed

linux-p3is:/opt/Firebird-4.0.0.1766-Beta1.amd64 # zypper in icu
Загрузка данных о репозиториях...
Предупреждение: Репозиторий "openSUSE-Leap-15.0-Update-Non-Oss" устарел. Используйте другое зеркало или сервер.
Чтение установленных пакетов...
"icu" уже установлен.
Нет кандидатов на обновление "icu-65.1-lp150.139.1.x86_64". Самая последняя версия уже установлена.
Разрешение зависимостей пакетов...

Нечего выполнять.
linux-p3is:/opt/Firebird-4.0.0.1766-Beta1.amd64 # 
linux-p3is:/usr/lib64 # 
linux-p3is:/usr/lib64 # ls | grep icu
icu
libharfbuzz-icu.so
libharfbuzz-icu.so.0
libharfbuzz-icu.so.0.10705.0
libicudata.so
libicudata.so.suse65.1
libicui18n.so
libicui18n.so.suse65.1
libicuio.so
libicuio.so.suse65.1
libicutest.so
libicutest.so.suse65.1
libicutu.so
libicutu.so.suse65.1
libicuuc.so
libicuuc.so.suse65.1
linux-p3is:/usr/lib64 # 

Мои лыжи определенно не едут.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39924858
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky
Код: plaintext
libicudata.so. suse 65.1
Вот такие имена Firebird никогда не искал, не ищет и не будет искать.

Попробуй сделать такие симлинки

libicudata.so.65
libicuuc.so.65
libicui18n.so.65
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39924861
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, например, официальные пакеты от ICU

https://github.com/unicode-org/icu/releases/tag/release-65-1

что для федоры, что для убунты - нормальные единообразные имена

libicuXXX.so
libicuXXX.so.65
libicuXXX.so.65.1
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39924865
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот имена без суффиксов (icuXXX.so) Firebird должен был подхватить, но там я вижу небольшую ошибку.
Постараюсь исправить на днях.

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

linux-p3is:/opt/Firebird-4.0.0.1766-Beta1.amd64 # ./install.sh

Firebird 4.0.0.1766-Beta1.amd64 Installation

Press Enter to start installation or ^C to abort
Extracting install data
Updated /etc/services
Please enter new password for SYSDBA user: masterkey
unable to open database
Could not find acceptable ICU library
Missing entrypoint ucnv_open in ICU library
Error loading ICU library version 65.0

Install completed
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39924873
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

а ты можешь посмотреть - там entrypoint'ы имеют суффиксы с версией, или нет ?
Попробуй libicuuc
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39925158
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

покажи nm -D libicuuc.so | grep ucnv_open
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39925280
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
взял другой комп с текущей версией 15.1. была мысль, что 15.0 старьё, изначально была 60.2 поставил 65.1
linux-todu:/opt/Firebird-4.0.0.1766-Beta1.amd64 # ./install.sh

Firebird 4.0.0.1766-Beta1.amd64 Installation

Press Enter to start installation or ^C to abort
Extracting install data
Updated /etc/services
Please enter new password for SYSDBA user: masterkey
unable to open database
Could not find acceptable ICU library
Missing entrypoint ucnv_open in ICU library
Error loading ICU library version 65.0

Install completed


симлинков наделал на все лады

linux-todu:/usr/lib64 # ls | grep libicu
libicudata.so
libicudata.so.60_2
libicudata.so.60.2
libicudata.so.65
libicudata.so.65_1
libicudata.so.65.1
libicudata.so.suse65.1
libicui18n.so
libicui18n.so.60_2
libicui18n.so.60.2
libicui18n.so.65
libicui18n.so.65_1
libicui18n.so.65.1
libicui18n.so.suse65.1
libicuio.so
libicuio.so.60_2
libicuio.so.60.2
libicuio.so.65
libicuio.so.65_1
libicuio.so.65.1
libicuio.so.suse65.1
libicutest.so
libicutest.so.60_2
libicutest.so.60.2
libicutest.so.65
libicutest.so.65_1
libicutest.so.65.1
libicutest.so.suse65.1
libicutu.so
libicutu.so.60_2
libicutu.so.60.2
libicutu.so.65
libicutu.so.65_1
libicutu.so.65.1
libicutu.so.suse65.1
libicuuc.so
libicuuc.so.60_2
libicuuc.so.60.2
libicuuc.so.65
libicuuc.so.65_1
libicuuc.so.65.1
libicuuc.so.suse65.1




hvlad
покажи nm -D libicuuc.so | grep ucnv_open
linux-todu:/usr/lib64 # nm -D libicuuc.so | grep ucnv_open
000000000007a780 T ucnv_open_65_1
0000000000080fb0 T ucnv_openAllNames_65_1
000000000007a860 T ucnv_openCCSID_65_1
000000000007a7b0 T ucnv_openPackage_65_1
00000000000801e0 T ucnv_openStandardNames_65_1
000000000007a7c0 T ucnv_openU_65_1


Сейчас под руками есть еще и виртуалка с 7 центос, и его помучаю.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39925299
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

спасибо. Оставь только libicuXXX.so.65_1
Буду думать, что с этим делать
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39925318
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если закинуть либы по ссылке, что ты постил выше на гитхаб, то там картинка чуть другая, но результат тот же.
linux-todu:/usr/lib64 # nm -D libicuuc.so | grep ucnv_open
0000000000075f70 T ucnv_open_65
000000000007c160 T ucnv_openAllNames_65
0000000000076040 T ucnv_openCCSID_65
0000000000075fa0 T ucnv_openPackage_65
000000000007b490 T ucnv_openStandardNames_65
0000000000075fb0 T ucnv_openU_65

Есть какая либо дока что делать с ику? практические примеры? типа "бери дистр такой-то и вперед"...
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39925348
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

я понятия не имею, почему suse распространяет свой "неправильный" ICU с "неправильными" суффиксами.

Для того, чтобы Firebird смог его использовать, нужно сделать симлинки вида libicuXXX.so.65_1
Другие "свои" симлинки нужно убрать.
Т.е. останутся только такие
libicuXXX.so
libicuXXX.so.65_1
libicuXXX.so.suse65.1

Если же ты хочешь поставить официальный пакет от ICU (который на гитхабе), то нужно удалить пакет
от suse, убедиться что не осталось симлинков и развернуть пакет с гитхаба. Его Firebird должен подхватить
без бубна.

Если очень хочется докопаться до сути, то читать тут
http://userguide.icu-project.org/design
http://userguide.icu-project.org/packaging
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39925371
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Для того, чтобы Firebird смог его использовать, нужно сделать симлинки вида libicuXXX.so.65_1
Другие "свои" симлинки нужно убрать.
Т.е. останутся только такие
libicuXXX.so
libicuXXX.so.65_1
libicuXXX.so.suse65.1
Не помогло.

Завтра еще попробую варианты, либо с центосом, либо поставлю роллинг suse, там штатно 65.1
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39929198
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С теми либами, что в репах центоса, что сюзи нихрена не работает. Таки придется читать доку и компилировать рпм-ку самому.
...
Рейтинг: 0 / 0
Firebird 4: Could not find acceptable ICU library
    #39929207
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

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


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