Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Ошибка в отладчике пакета при использовании процедур с необязательными параметрами / 5 сообщений из 5, страница 1 из 1
08.10.2020, 11:16
    #40006501
Dimbuch®
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в отладчике пакета при использовании процедур с необязательными параметрами
Добрый день.
При использовании процедур с необязательными параметрами не работает Debug package (F8)

Текст ошибки:
Код: plaintext
1.
2.
3.
4.
This operation is not defined for system tables.
unsuccessful metadata update.
RECREATE PACKAGE BODY IBE$DBG$PKG$1 failed.
Dynamic SQL Error.
Input parameter mismatch for procedure IBE$DBG$PKG$1.PROC1.


Пример пакета:
Код: 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.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
SET TERM ^ ;

CREATE OR ALTER PACKAGE NEW_PACKAGE1
AS
BEGIN
  PROCEDURE proc1 (
    param1 INTEGER,
    param2 INTEGER = NULL
  );

  PROCEDURE proc2;
END^

RECREATE PACKAGE BODY NEW_PACKAGE1
AS
BEGIN
  PROCEDURE proc1 (
    param1 INTEGER,
    param2 INTEGER
  )
  AS
  BEGIN
    -- Code
  END

  PROCEDURE proc2
  AS
    DECLARE VARIABLE v_operdate TIMESTAMP;
  BEGIN
    -- Вот так Debug package (F8) работает
    -- EXECUTE PROCEDURE proc1(1, 2);

    -- А вот так не работает. Ошибка
    EXECUTE PROCEDURE proc1(1);
    /*
      Текст ошибки

      This operation is not defined for system tables.
      unsuccessful metadata update.
      RECREATE PACKAGE BODY IBE$DBG$PKG$1 failed.
      Dynamic SQL Error.
      Input parameter mismatch for procedure IBE$DBG$PKG$1.PROC1.
    */
  END

END^

SET TERM ; ^

...
Рейтинг: 0 / 0
09.10.2020, 05:30
    #40006787
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в отладчике пакета при использовании процедур с необязательными параметрами
Исправил.
...
Рейтинг: 0 / 0
09.10.2020, 12:19
    #40006889
Dimbuch®
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в отладчике пакета при использовании процедур с необязательными параметрами
IBExpert, спасибо. заработало.
А посмотрите, пожалуйста, еще одну ошибку, связанную с параметрами.

Тот же самый пакет. Если процедура описана только в теле пакета, и указан необязательный параметр. Пакет компилируется и работает корректно. Но в отладку не пускает, выводит ошибку

Код: plaintext
1.
2.
3.
4.
This operation is not defined for system tables.
unsuccessful metadata update.
RECREATE PACKAGE BODY IBE$DBG$PKG$1 failed.
Default values for parameters are allowed only in declaration of packaged procedure IBE$DBG$PKG$1.PROC1.

Пример пакета:
Код: 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.
31.
32.
33.
34.
35.
36.
37.
38.
SET TERM ^ ;

CREATE OR ALTER PACKAGE NEW_PACKAGE1
AS
BEGIN
  PROCEDURE proc2;
END^

RECREATE PACKAGE BODY NEW_PACKAGE1
AS
BEGIN
  PROCEDURE proc1 (
    param1 INTEGER,
    param2 INTEGER = NULL
  )
  AS
  BEGIN
    -- Code
  END

  PROCEDURE proc2
  AS
    DECLARE VARIABLE v_operdate TIMESTAMP;
  BEGIN
    EXECUTE PROCEDURE proc1(1);
    /*
      Текст ошибки при попытке запустить отладку

      This operation is not defined for system tables.
      unsuccessful metadata update.
      RECREATE PACKAGE BODY IBE$DBG$PKG$1 failed.
      Default values for parameters are allowed only in declaration of packaged procedure IBE$DBG$PKG$1.PROC1.
    */
  END

END^

SET TERM ; ^

...
Рейтинг: 0 / 0
12.10.2020, 04:05
    #40007532
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в отладчике пакета при использовании процедур с необязательными параметрами
Dimbuch®
еще одну ошибку, связанную с параметрами.


Исправил.
...
Рейтинг: 0 / 0
12.10.2020, 09:32
    #40007587
Dimbuch®
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в отладчике пакета при использовании процедур с необязательными параметрами
IBExpert,
Работает. И еще появились сообщения Warning по неиспользуемым переменным при компиляции пакета. Очень удобно.

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


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