powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Вкладка "Data" любой системной таблицы - ошибка
25 сообщений из 35, страница 1 из 2
Вкладка "Data" любой системной таблицы - ошибка
    #39658508
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обновил только что версию IBExpert на 2018.6.7.1

Для любой системной таблицы при переходе на вкладку "Данные" выдает

Error Message:
----------------------------------------
List index out of bounds (0)

[0041D381] Classes.TStringList.GetObject (Line 3381, "Classes.pas" + 1) + $13
[0041D381] Classes.TStringList.GetObject (Line 3381, "Classes.pas" + 1) + $13
[00E029B3] TblViewF.TTableViewForm.RefreshData (Line 550, "TblViewF.pas" + 10) + $13
[00E03616] TblViewF.TTableViewForm.aRefreshExecute (Line 855, "TblViewF.pas" + 31) + $2

Вкладка, соответственно, после ничего не отображает.

С обычными таблицами работает нормально.

Firebird 3.0.2.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #39658529
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это, видимо, последствия "исправления"
http://www.sql.ru/forum/1295181/vkladka-dannye-v-tablice

Исправил. Или "исправил"...
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #39658549
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запустил 2018.6.8.1, работает.

Спасибо!

И спасибо за отличный инструмент!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Вкладка "Data" любой системной таблицы - ошибка
    #40104926
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никогда такого не было, и вот опять!

Firebird 4.0
IBExpert 2021.10.14.1

Что характерно, сбой наблюдается на Windows 7 SP1 64 и на Windows Server 2012 R2 64.
В Windows 10 64 работает чисто.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40104995
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky
Что характерно, сбой наблюдается на Windows 7 SP1 64 и на Windows Server 2012 R2 64.
В Windows 10 64 работает чисто.


И ни на какие мысли это не наводит? Разные версии клиентов на твоих компах.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105167
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert

Разные версии клиентов на твоих компах.

Эта гипотеза неверна. На всех компьютерах лежит

fbclient.dll 4.0.0.2496 от 31.05.2021,

и находится она в

C:\Windows\SysWOW64 ,

откуда её и грузит в себя IBExpert. Проверено электроникой.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105170
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky,

потому что в Win 10 есть встроенная ICU, а в Win 7 нет. Ты либо в системный каталог копируй недостающие файлы icu*.dll icu*.dat, либо не грузи клиента из системной директории, а указывай явно его расположение
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105188
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скопировал все icu*.dll из инсталляционного пакета Firebire-4.0-Win32 в системную папку. Помогло, спасибо, работает.

Но, ёлки-палки, как об этом можно было догадаться самостоятельно? При обновлении версии сервера просто кидал fbclient.dll из 32-разрядного параллельного пакета в системную папку. В пакете есть утилита instclient.exe, но она делает ровно то же самое. Оказалось, этого мало, нужны еще новые icu*.dll, а то, может, и еще какие. И хоть бы кто при загрузке вякнул, мол, чего-то не хватает.

Процесс IBExpert грузил в себя, и продолжает грузить icudt30.dll и icuuc30.dll из IBExpert\IBEUDB, и продолжает грузить, но это, я понимаю, только для поддержки собственной embedded UserDB (FB 2.5). А вот ныне загруженных icudt63.dll и icuin63.dll у него не было, и ничего, молча работал. Или молча не работал, когда нужда доходила. Ну, может, так и правильно.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105211
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky,

работает и без ICU, ровно до тех пор пока на клиента не передаётся тип с TIME ZONE.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105219
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Я уж понял, спасибо. Я к тому, что хорошо бы, если нет ICU, сказать, что нет ICU, функциональность будет ограничена, не обессудьте. Это сказать (вернуть код ошибки), наверное, мог бы fbclient, уж коли ему этот icu нужен. А программа, использующая клиента, могла бы донести сей печальный факт до пользователя. А тот бы уже думал, что это еще за icu такая, и ведь додумал бы.

Так и занятых людей на форуме пришлось бы меньше отвлекать.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105705
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то, при отсутствии ICU, вызов IUtil::decodeTimeStampTz() не должен падать или кидать исключения.
Он должен сформировать строку из того, что есть, и указать таймзону "GMT*".
Хотелось бы подробностей.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105714
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас проверил с Win7, IBE 2021.6.8.1, FB 4.0.1.2625 и изолированным в отдельный каталог fbclient.dll.
Открыл MON$ATTACHMENTS и вижу время в GMT с таймзоной GMT*
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105933
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

Ну, а на моих Win7 и Win2012 было так, как на картинке. Рад бы еще помочь, но не знаю, как. Посмотрите, не загрузил ли у вас процесс IBExpert в себя icu*.dll из какого-нибудь другого места. Может, они и в вашей системе уже есть.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105946
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня IBExpert вообще не хочет грузить клиента не из системной папки.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105947
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Клиент 32-разрядный, зуб даю.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105950
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky
Посмотрите, не загрузил ли у вас процесс IBExpert в себя icu*.dll
Процессом IBE загружены только icu30.

Специально перепроверил с fb 4.0.0.2496 (оригинальный релиз, не снапшот) и IBE 2021.10.20.1 - всё ок.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105952
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky
У меня IBExpert вообще не хочет грузить клиента не из системной папки.
У меня нет клиента в системном каталоге.
По-умолчанию используется клиент 3.0 из каталога сборки.
В данном случае я назначаю нужного клиента в св-вах БД, а не по-умолчанию.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105954
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky
Ну, а на моих Win7 и Win2012 было так, как на картинке. Рад бы еще помочь, но не знаю, как.
Предлагаю убрать ICU из системного каталога, в отдельный каталог положить fbclient.dll, firebird.msg и isql.exe, и выполнить в isql
Код: sql
1.
select * from mon$attachments;
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40105962
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

Сделал. isql без ICU возвращает

2021-10-21 14:52:34.9560 GMT*

а с ICU

2021-10-21 17:52:35.1280 Europe/Moscow

То есть проблема не в fbcient.dll, ладно, это радует. А в чем тогда? IBExpert без ICU продолжает себя плохо вести.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40106017
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky,

возможно, IBE передаёт что-то, что не нравится клиенту.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40106074
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky
У меня IBExpert вообще не хочет грузить клиента не из системной папки.
...
Клиент 32-разрядный, зуб даю.


Вот это фигня какая-то. Что у тебя в свойствах базы прописано? Какой клиент?
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40106176
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
Что у тебя в свойствах базы прописано? Какой клиент?


Во всех "базах", т.е. в параметрах коннектов прописана просто fbclient.dll без пути. Ну, понятно, что произошло: если fbclient.dll не нашлась в системной папке, то она и нигде не нашлась, несмотря на Environment Options/Default Client Library . Ладно, это легко обходимо, когда знаешь.

Но вот основная проблема остается открытой. В случае отсутствия библиотек ICU isql.exe выполняет select * from mon$attachements корректно, возвращая зону GMT*, а IBExpert налетает на исключение в Firebird.IUtil.decodeTimeStampTz .
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40106250
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky

Во всех "базах", т.е. в параметрах коннектов прописана просто fbclient.dll без пути. Ну, понятно, что произошло: если fbclient.dll не нашлась в системной папке, то она и нигде не нашлась, несмотря на Environment Options/Default Client Library . Ладно, это легко обходимо, когда знаешь.


Брррр... Так какой клиент у тебя использует эксперт, когда налетает на обсуждаемое исключение? Где он прописан?

shalamyansky

Но вот основная проблема остается открытой. В случае отсутствия библиотек ICU isql.exe выполняет select * from mon$attachements корректно, возвращая зону GMT*, а IBExpert налетает на исключение в Firebird.IUtil.decodeTimeStampTz .


И с ICU, и без ICU эксперт дергает одну и ту же функцию в клиенте, с одним и тем же набором параметров. Эксперт вообще ничего не знает про ICU.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40106718
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert

Брррр... Так какой клиент у тебя использует эксперт, когда налетает на обсуждаемое исключение? Где он прописан?


Почему брр? Клиент всегда последний и соответствующий серверу, в данном случае firebird.dll 4.0.1.2631 32 (поставил отладочный снапшот). С чуть более ранним 4.0.0.2496 та же история. Неважно, где он лежит, обычно в системной папке, но пробовал в разных других местах, место ни на что не влияет. Всегда проверяю Process Explorer'ом, какой реально клиент загружен.

Кстати, был несказанно удивлен, увидев, что одновременно в процесс загружены несколько одноименных fbclient.dll. Я еще думал - как это так сделано, разные коннекты с разными клиентами?

IBExpert

Эксперт вообще ничего не знает про ICU.

Я догадываюсь. ISQL тоже ничего про неё не знает. Однако ISQL на том же компьютере и с тем же клиентом без ICU почему-то принимает зонные даты, ставя им GMT*, а IBExpert налетает на исключение. Вопрос скорее любопытства, чем практический, потому что теперь, зная про важность ICU, надо просто про нее не забывать.
...
Рейтинг: 0 / 0
Вкладка "Data" любой системной таблицы - ошибка
    #40106780
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyansky

Почему брр?


Потому что если у тебя в настройках базы прописана "просто fbclient.dll без пути", то фиг знает, откуда LoadLibrary его подтягивает.
И вот прежде чем утверждать, что эксперт и isql используют одну и ту же либу, пропиши там полный путь к ней. И в принципе всегда прописывай путь, который исключает неоднозначность.

shalamyansky

Кстати, был несказанно удивлен, увидев, что одновременно в процесс загружены несколько одноименных fbclient.dll. Я еще думал - как это так сделано, разные коннекты с разными клиентами?


Так, а вот тут поподробнее. Сколько у тебя активных коннектов в эксперте и сколько при этом "одноименных" fbclient.dll загружено?
В принципе, здесь как раз ничего странного нет: имя загруженного модуля включает полный путь к нему, а не только имя самого файла.

shalamyansky

Однако ISQL на том же компьютере и с тем же клиентом


В связи со всем вышесказанным тобой, я до сих пор не уверен, что клиент тот же. Вот за Влада я уверен, но у него и эксперт AV не вываливает.
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Вкладка "Data" любой системной таблицы - ошибка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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