Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Дополнительная информация списке БД / 12 сообщений из 12, страница 1 из 1
04.02.2022, 18:22
    #40131770
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дополнительная информация списке БД
Есть ли возможность выводить вместо версии диалекта какую-то другую информацию?
Я бы хотел там видеть версию БД, она у меня хранится в генераторе.
Идеально это было бы реализовать через ibeblock
Для меня отображение версии диалекта бесполезная информация, т.к. никаких других кроме 3 у меня не бывает
...
Рейтинг: 0 / 0
06.02.2022, 14:42
    #40132028
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дополнительная информация списке БД
В свежей версии в блоке события After database connected что-то такое:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
execute ibeblock(
  DatabaseID integer comment 'Internal ID (within IBExpert) of the connected database',
  IsReconnect boolean comment 'Indicates that Reconnect was performed for active database')
returns (
  DBEExtraCaption variant default NULL)
as
begin
  if (DatabaseID = 496) then
  begin
    DBConn = ibec_GetDefaultConnection(); -- собственно коннект к только что подключенной базе
    DBEExtraCaption = '( *** Custom caption *** )';  -- это вместо диалекта синеньким будет висеть
  end;
end
...
Рейтинг: 0 / 0
06.02.2022, 14:50
    #40132031
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дополнительная информация списке БД
IBExpert,

Спасибо, супер.
Есть место где можно это прописать для всех баз (DatabaseID намекает об этом) или каждой базы отдельно?
Сейчас при русской локализации слово "Диалект 3" отображает в исковерканной кодировке. Пока еще скрипт не успел сделать
...
Рейтинг: 0 / 0
06.02.2022, 14:57
    #40132036
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дополнительная информация списке БД
IBExpert,

Установил такой скрипт в After Database Connect

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
execute ibeblock(
  DatabaseID integer comment 'Internal ID (within IBExpert) of the connected database',
  IsReconnect boolean comment 'Indicates that Reconnect was performed for active database')
returns (
  DBEExtraCaption variant default NULL)
as
begin
  DBEExtraCaption = 'test';
end



На версии 2022.2.6.1 ничего не происходит (кроме проблемы с кодировкой)
...
Рейтинг: 0 / 0
06.02.2022, 15:24
    #40132044
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дополнительная информация списке БД
Шавлюк Евгений

На версии 2022.2.6.1 ничего не происходит (кроме проблемы с кодировкой)


Не скрипт надо мучать, а блок события соответствующий.
...
Рейтинг: 0 / 0
06.02.2022, 15:26
    #40132045
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дополнительная информация списке БД
Шавлюк Евгений

Есть место где можно это прописать для всех баз (DatabaseID намекает об этом) или каждой базы отдельно?


Ну вот в твоем примере выше будет для всех баз test рисовать.

Шавлюк Евгений

Сейчас при русской локализации слово "Диалект 3" отображает в исковерканной кодировке. Пока еще скрипт не успел сделать


Это поправлю.
...
Рейтинг: 0 / 0
06.02.2022, 15:49
    #40132056
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дополнительная информация списке БД
Кодировку поправил.
...
Рейтинг: 0 / 0
06.02.2022, 21:29
    #40132109
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дополнительная информация списке БД
IBExpert,
Сделал такой скрипт в After Database Connected

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
execute ibeblock(
  DatabaseID integer comment 'Internal ID (within IBExpert) of the connected database',
  IsReconnect boolean comment 'Indicates that Reconnect was performed for active database')
returns (
  DBEExtraCaption variant default NULL)
as
declare variable ver varchar(12);
begin
  DBConn = ibec_GetDefaultConnection();
  ibec_UseConnection(DBConn);

  select rdb$initial_value from rdb$generators where rdb$generator_name = 'GEN_VERSION'
  into ver;
  if (ver is null) then exit;

  DBEExtraCaption = ver;
end



При подключении получаю ошибку

================ ERROR ======================
There is no active connection.

============== STATEMENT ====================
SELECT rdb$initial_value from rdb$generators where rdb$generator_name = 'GEN_VERSION'

При RECONNECT скрипт работает только если есть другая открытая БД
...
Рейтинг: 0 / 0
07.02.2022, 03:18
    #40132150
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дополнительная информация списке БД
Шавлюк Евгений

При подключении получаю ошибку


Исправил.
...
Рейтинг: 0 / 0
07.02.2022, 14:45
    #40132235
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дополнительная информация списке БД
IBExpert,

После reconnect текст не обновляется пока не стану на соответствующую строку.

Все остальное работает, спасибо.
...
Рейтинг: 0 / 0
07.02.2022, 17:51
    #40132308
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дополнительная информация списке БД
IBExpert
Шавлюк Евгений

При подключении получаю ошибку


Исправил.

Не все исправлено

Подключаюсь к БД1, отключаюсь от БД1
Подключаюсь к БД2 получаю ошибку
Код: plaintext
1.
2.
3.
4.
================ ERROR ======================
Cannot perform operation -- DB is not open.

============== STATEMENT ====================
IF  ? containing 'Firebird 3.0'

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
execute ibeblock(
  DatabaseID integer comment 'Internal ID (within IBExpert) of the connected database',
  IsReconnect boolean comment 'Indicates that Reconnect was performed for active database')
returns (
  DBEExtraCaption variant default NULL)
as
begin
  DBConn = ibec_GetDefaultConnection();
  ibec_UseConnection(DBConn);

  sv = ibec_GetConnectionProp(DBConn, 'ServerVersion');
  if (sv containing 'Firebird 3.0') then
    select rdb$initial_value from rdb$generators where rdb$generator_name = 'GEN_VERSION' into ver;
  else
  if (exists(select * from rdb$generators where rdb$generator_name = 'GEN_VERSION')) then
    ver = gen_id(GEN_VERSION, 0);

  if (ver is null) then exit;
  DBEExtraCaption = '('||substring(ver from 1 for 2)||'.'||substring(ver from 3 for 2)||'.'||substring(ver from 5 for 2)||'.'||substring(ver from 7)||')';
end
...
Рейтинг: 0 / 0
08.02.2022, 06:50
    #40132397
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дополнительная информация списке БД
Шавлюк Евгений

Подключаюсь к БД1, отключаюсь от БД1
Подключаюсь к БД2 получаю ошибку


Исправил.
...
Рейтинг: 0 / 0
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Дополнительная информация списке БД / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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