Pracuję nad projektem ASp.net z backendem Oracle DB.

Utworzyłem nowy pakiet z procedurami składowanymi do DB. i Wywołano procedurę składowaną z pakietu. Otrzymuję następujący błąd.

ORA-04067: not executed, package body "WB_APP_MANAGER.WB_PCK_APP_MANAGER" does not exist
ORA-06508: PL/SQL: could not find program unit being called: "WB_APP_MANAGER.WB_PCK_APP_MANAGER"
ORA-06512: at line 1

Daj mi znać, jak rozwiązać ten problem.

Dzięki

1
praveenb 25 czerwiec 2011, 00:25
1
Czy naprawdę potrzebujemy tagu ora-04067? To jedyne pytanie na stronie z tym; Myślę, że wystarczyłby tylko tag wyroczni. W przeciwnym razie otrzymamy mnóstwo tagów specyficznych dla każdego kodu błędu kompilatora, bazy danych, systemu operacyjnego itp.
 – 
Jake Petroules
25 czerwiec 2011, 06:56

2 odpowiedzi

Najlepsza odpowiedź

Specyfikacja Twojego pakietu może być na miejscu, ale wydaje się, że brakuje Ci treści pakietu. Dla każdego wykonywanego pakietu musi również istnieć treść pakietu.

select object_type  
from   dba_objects 
where  object_name = 'WB_PCK_APP_MANAGER';

Powyższe zapytanie musi dotyczyć zarówno PACKAGE jak i PACKAGE BODY.

Jeśli PACKAGE BODY nie jest zgłaszane przez zapytanie, musisz utworzyć treść pakietu.

Utwórz lub zamień treść pakietu WB_PCK_APP_MANAGER jako

4
josephj1989 25 czerwiec 2011, 00:49
1
Jak stworzyć ciało pakietu?
 – 
Timeless
24 kwiecień 2014, 07:19
  • sprawdź, czy nazwa jest poprawna - nie pomyliłeś się;
  • sprawdź, czy jest skompilowany;
  • sprawdź, czy WB_APP_MANAGER ma odpowiednie uprawnienia do WB_PCK_APP_MANAGER:
select owner, object_name, object_type  
from   dba_objects 
where  object_name = 'WB_PCK_APP_MANAGER';
2
CristiC 25 czerwiec 2011, 00:29
Używam programisty Oracle sql, proszę powiedz mi, jak zmienić właściciela
 – 
praveenb
25 czerwiec 2011, 01:03