powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Ошибка в отладчике пакета при использовании процедур с необязательными параметрами
5 сообщений из 5, страница 1 из 1
Ошибка в отладчике пакета при использовании процедур с необязательными параметрами
    #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
Ошибка в отладчике пакета при использовании процедур с необязательными параметрами
    #40006787
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправил.
...
Рейтинг: 0 / 0
Ошибка в отладчике пакета при использовании процедур с необязательными параметрами
    #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
Ошибка в отладчике пакета при использовании процедур с необязательными параметрами
    #40007532
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimbuch®
еще одну ошибку, связанную с параметрами.


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

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


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