Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Несколько небольших репортов касательно IBE блоков / 4 сообщений из 4, страница 1 из 1
15.11.2018, 20:21
    #39733797
Василий 2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько небольших репортов касательно IBE блоков
Пытаюсь наваять кое-что на IBE блоках, в процессе возникли следующие наблюдения:

1. (Справка) ibec_ibe_GetActiveDatabaseID
авторIf there is no active database ibec_ibe_GetActiveDatabaseID returns -1
авторIf there is no active database it will return NULL.
Судя по наблюдениям, вариант с NULL все же верный. Хотя в примерах сравнивается с -1...

2. (UI) При 120% DPI ("крупные шрифты") уезжает кнопка закрытия окна прогресса / ошибок

3. (UI) Кнопки на тулбаре редактора блоков ведут себя странно. Run отключен, Trace into включен, но ничего не делает. F9 из редактора тоже не запускает блок.

4. (API) ibec_ibe_GetDatabaseProp(CurrDB, 'ServerVersion') - возвращает число, причем сам список удалось узнать лишь чудом. А строковое значение нужно ExtractMetadata

5. (API) Хотелось бы функцию ibec_ibe_GetActiveDatabase для получения объекта активного коннекта (либо ibec_ibe_GetConnectionByID, которому можно скормить ibec_ibe_GetActiveDatabaseID...). Сам по себе DatabaseID дает очень мало, с ним почти ничего и не сделаешь.

Поясню свою цель - хочется сделать средство (набор блоков и батч файлов) для извлечения метаданных из активной БД и коммита в систему контроля версий. Извлечение сделал, а вот получить нужные свойства из активной БД пока не получается.
...
Рейтинг: 0 / 0
16.11.2018, 04:34
    #39733849
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько небольших репортов касательно IBE блоков
1. Значит, таки NULL. Напишу, чтобы поправили в доке.

2. Исправил.

3. Там сначала Reset делать надо.

4. Константы, начинающиеся с '__sv'. Присутствуют в списке CodeInsight. Это версия, указанная в регистрационной записи БД. И поэтому не строка.

5. ibec_GetDefaultConnection() возвращает то, что тебе надо. И, соответственно, ibec_GetConnectionProp() возвращает свойства коннекта. Ниже кусок кода, который за это отвечает:

Код: plsql
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.
if s = 'DBSQLDIALECT' then
      Result := DB.DBSQLDialect
    else if (s = 'ROWSAFFECTED') or (s = ibescROW_COUNT) or (s = ibescROWS_AFFECTED) then
      Result := AConnection.LastRowsAffected
    else if s = 'CLIENTLIB' then
      Result := DB.ClientLibName
    else if (s = 'SERVERNAME') or (s = 'HOSTNAME') then
      Result := DB.DBSiteName
    else if s = 'FILENAME' then
      Result := DB.DBFileName
    else if s = 'DBNAME' then
      Result := DB.DBName
    else if s = 'PASSWORD' then
      Result := DB.DBParams.Values['password']
    else if (s = 'USERNAME') or (s = 'USER_NAME') or (s = 'USER') then
      Result := DB.DBParams.Values['user_name']
    else if (s = 'NAMES') or (s = 'LC_CTYPE') then
      Result := DB.DBParams.Values['lc_ctype']
    else if (s = 'SERVERVERSION') then
      Result := DB.Version
    else if (s = 'PAGESIZE') or (s = 'PAGE_SIZE') then
      Result := DB.PageSize
    else if (s = 'SWEEP') or (s = 'SWEEPINTERVAL') then
      Result := DB.SweepInterval
    else if (s = 'ODSMINORVERSION') then
      Result := DB.ODSMinorVersion
    else if (s = 'ODSMAJORVERSION') then
      Result := DB.ODSMajorVersion
    else if (s = 'TRPARAMS') then
      Result := StringReplaceEx(AConnection.TRParams, ibescCRLF, ',', [rfReplaceAll])

...
Рейтинг: 0 / 0
16.11.2018, 14:54
    #39734161
Василий 2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько небольших репортов касательно IBE блоков
Спасибо!

3. Ага, понял, работает
4. Увидел, ага. Я писал автономный скрипт, хранящийся в виде файла, соответственно просто в блокноте. А можно как-то открывать эти скрипты в редакторе IBE? Попробовал открыть в окне Script executive, но что-то это не то.
5. Вот жеж... видел эту функцию, но не додумался, что default это активная.
...
Рейтинг: 0 / 0
17.11.2018, 03:49
    #39734441
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько небольших репортов касательно IBE блоков
Василий 24. Увидел, ага. Я писал автономный скрипт, хранящийся в виде файла, соответственно просто в блокноте. А можно как-то открывать эти скрипты в редакторе IBE? Попробовал открыть в окне Script executive, но что-то это не то.

Что "не то"? Как надо? Открывай в SQL Editor...

Василий 25. Вот жеж... видел эту функцию, но не додумался, что default это активная.

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


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