powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Несколько небольших репортов касательно IBE блоков
4 сообщений из 4, страница 1 из 1
Несколько небольших репортов касательно IBE блоков
    #39733797
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь наваять кое-что на 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
Несколько небольших репортов касательно IBE блоков
    #39733849
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Несколько небольших репортов касательно IBE блоков
    #39734161
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!

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

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

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

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


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