powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Вопросы по IB Expert.
25 сообщений из 27, страница 1 из 2
Вопросы по IB Expert.
    #38894777
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Возникли вопросы при работе с дизайнером БД.
1. При генерации скрипта, скрипт генерируется разом на все что нарисовано, независимо от того, использую я слои или нет? Если разом, то можно сделать возможность генерации скрипта, на основании открытого слоя?

2. В Model Option в параметре Post Script написал команды INSERT по добавлению данных в нужные мне таблицы, но после генерации общего скрипта, я их не вижу в нем. На данный блок имеются ограничения? Из документации, вроде ограничений нет...
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38895014
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CDexВозникли вопросы при работе с дизайнером БД.
1. При генерации скрипта, скрипт генерируется разом на все что нарисовано, независимо от того, использую я слои или нет? Если разом, то можно сделать возможность генерации скрипта, на основании открытого слоя?

Нет, только на всю модель целиком.

CDex2. В Model Option в параметре Post Script написал команды INSERT по добавлению данных в нужные мне таблицы, но после генерации общего скрипта, я их не вижу в нем. На данный блок имеются ограничения? Из документации, вроде ограничений нет...

Проверил - post script включается в результирующий скрипт без изменений.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38895223
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpertПроверил - post script включается в результирующий скрипт без изменений.

Вопрос: если в процессе генерации скрипта, происходят ошибки, то возможно прерывание генерации скрипта без уведомления? По факту тогда и получается эффект, что как будто post секция не сгенерировалась...
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38895357
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CDexIBExpertПроверил - post script включается в результирующий скрипт без изменений.

Вопрос: если в процессе генерации скрипта, происходят ошибки, то возможно прерывание генерации скрипта без уведомления? По факту тогда и получается эффект, что как будто post секция не сгенерировалась...

Я с трудом могу представить себе такую ошибку. Post script не генерируется, а тупо включается как есть в конец результирующего скрипта.
Ты какой скрипт генерируешь? На создание БД или на модификацию? Post только в первый попадет.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38895530
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpertТы какой скрипт генерируешь? На создание БД

У меня не попадает, вчера наверное часа 2 как только не изголялся, но на выходе не смог получить секцию Post в конце скрипта...
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38895537
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все разобрался. 2 вопрос снимаю. По поводу 1 вопроса, можно сделать, чтобы скрипт генерился и по слоям? Например добавить новые таблицы и все что с ними связано...
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38895803
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CDexПо поводу 1 вопроса, можно сделать, чтобы скрипт генерился и по слоям? Например добавить новые таблицы и все что с ними связано...

Можно, только заниматься этим некому.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38897488
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, написал в IEBlock (для АИ) следующий код.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
execute ibeblock (
  objDocument variant,
  objTable variant,
  objField variant)
returns (
  scrGenerator variant,
  scrTrigger variant,
  scrProcedure variant)
as
begin
  TableName = ibec_dbd_GetObjectProp(objTable, 'NAME');
  FldName = ibec_dbd_GetObjectProp(objField, 'NAME');

  scrGenerator = 'CREATE SEQUENCE GEN_' || FldName||'; ALTER SEQUENCE GEN_' || FldName||' RESTART WITH 1;';
  scrProcedure = 'CREATE PROCEDURE GEN_' || FldName || ' returns (id integer) as begin  id = gen_id(gen_' || FldName || ', 1); suspend; end';

end



Генераторы создаются и устанавливаются в 1. А вот процедуры не создаются. Так приемлемо писать в данном блоке, или надо по другому писать или в другом блоке описывать?
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38897777
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По какой-то причине скрипт процедур игнорировался. Исправил.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38899607
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert,

А релиз выложили уже?
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38899629
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скачал новый релиз, увидел исправления.

Возникла следующая ситуация.
Процедуры сгенерировались. Однако в самом проводнике, указывается только одна процедура в разделе процедур, в самом же окне редактора вижу все процедуры. Если же выбрать процедуру в проводнике, то выделяются все сгенерированные процедуры.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38899713
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавлю про процедуры. Из-за этого глюка (?)не получается сгенировать скрипт, так как приводит к ошибке. Выглядит следующим образом. Есть процедуры:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE PROCEDURE SP_GEN_ID_XXX
returns (ID_XXX integer) as
begin
    ID_XXX = gen_id(GEN_ID_XXX, 1);
    suspend;
end

N    CREATE PROCEDURE SP_GEN_ID_YYY
returns (ID_YYY integer) as
begin
    ID_YYY = gen_id(GEN_ID_YYY, 1);
    suspend;
end

...



Первую процедуру IBExpert видит корректно и создает.
А вот последующие нет. Выдается ошибка на строку N
"Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 8, column 1.
CREATE."

Пробовал по разному править конечный скрипт, но не получается никак добиться того, чтобы процедур все таки было столько сколько надо и никак не получается избавиться от данной ошибки.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38899792
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Терминатор надо ставить после последнего end процедуры.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38899809
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert,

Упустил из виду, спасибо.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38902237
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert,

Подскажите пожалуйста, возможно ли в дизайнере базы данных, осуществить генерацию процедур не только по автоинкрементным полям. Если да и не будет трудно, можете привести пример?
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38902284
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, нельзя.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38902293
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя можно в post script прописать block/ibeblock, в котором будет создано все, что тебе нужно, по твоим алгоритмам.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38902309
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert,

Уже лучше.
Но чтобы я мог создавать в момент генерации скрипта, нужные мне однотипные процедуры для работы с таблицами, можно получить хоть какое нибудь бедное описание функции ibec_dbd_GetObjectProp? :) Суть в том, что мне надо выбирать названия полей из таблиц, которые уже есть в документе дизайнера базы данных.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38902323
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В момент генерации скрипта ничего не создается, только скрипт генерируется. А вот потом, при выполнении скрипта, уже можно создать все остальное. Имена объектов БД получаются селектами из системных таблиц.
Других вариантов у меня нет.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38902339
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert,

Понятно.

Я предполагал как то так, но вдруг где-то сначала в памяти все создается, генерится, а потом уже в скрипт окончательно выводится и уже сам скрипт выполняется.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38902346
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не так выразил мысль.

Во всяком случае после создания всех объектов указанных в скрипте, я по факту могу получить к ним доступ и уже в блоках IBExpert могу сгенерировать дополнительные мне процедуры (и любые другие объекты при необходимости)?
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38902655
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CDexВо всяком случае после создания всех объектов указанных в скрипте, я по факту могу получить к ним доступ и уже в блоках IBExpert могу сгенерировать дополнительные мне процедуры (и любые другие объекты при необходимости)?

Да.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38902774
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, некоторые вещи упрощаются тогда.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38907230
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert, добрый день.

Столкнулся еще с одной вещью.

Задал шаблоны по генерации генераторов.
А получаю как будто и без изменения шаблона.

Приложил скриншот.
...
Рейтинг: 0 / 0
Вопросы по IB Expert.
    #38907794
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CDexЗадал шаблоны по генерации генераторов.
А получаю как будто и без изменения шаблона.


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


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