powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как узнать настоящую ошибку в хранимой процедуре при запуске?
6 сообщений из 6, страница 1 из 1
Как узнать настоящую ошибку в хранимой процедуре при запуске?
    #39557240
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жила-была ХП типа:
Код: plsql
1.
2.
3.
4.
create or replace mysp(a number, b varchar2) is
begin
   insert into sometable (a, b) values(mysp.a, mysp.b);
end;


Потом некий злодей поменял структуру таблицы sometable и теперь на команду:
Код: plaintext
1.
$dbh->do("execute mysp(1, 'a')");

я получаю
Код: plaintext
1.
DBD::Oracle::db do failed: ORA-00900: invalid SQL statement (DBD ERROR: OCIStmtExecute) [for Statement "execute mysp(1, 'a')"] at mysript.pl


А вот если зайти в SQL Developer и запустит перекомпиляцию процедуры, то уже получаем правильные ошибки (колонка не найдена, тип не совпадает и тд и тп).

Спрашивается, можно-ли при запуске ХП сразу получать кода настоящих ошибок вместо общей ORA-00900? Или настоящие доступны только при перекомпиляции?
...
Рейтинг: 0 / 0
Как узнать настоящую ошибку в хранимой процедуре при запуске?
    #39557242
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычно Оракул выдаёт целую пачку ошибок. Если перловый драйвер из них способен показать
только первую - ничего не поделать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как узнать настоящую ошибку в хранимой процедуре при запуске?
    #39557247
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
call mysp(1, 'a');

?
...
Рейтинг: 0 / 0
Как узнать настоящую ошибку в хранимой процедуре при запуске?
    #39557271
[src]ORA-00900: invalid SQL statement[/quot]Нет у оракла стейтмента execute.
...
Рейтинг: 0 / 0
Как узнать настоящую ошибку в хранимой процедуре при запуске?
    #39557924
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морейcall mysp(1, 'a');

?Использование call выдало: ORA-06575: Package or function mysp is in an invalid state
Однако, когда процедура полностью рабочая, то и execute ее вполне нормально запускает...
Странно это все.

Но я читал эту доку: https://docs.oracle.com/cd/B19306_01/B14251_01/adfns_packages.htm#i1007682
Про call там вообще ничего нету.
...
Рейтинг: 0 / 0
Как узнать настоящую ошибку в хранимой процедуре при запуске?
    #39557929
White OwlПро calla что же там написано про execute?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как узнать настоящую ошибку в хранимой процедуре при запуске?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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