Bonjour à tous !
J'ai besoin de votre aide car je suis réellement largué.
Environnement :
ORACLE 12.1
Windows server 2012
J'ai un script sql de genération de package qui doit se déployer sur un schéma particulier (on va dire USR2).
Celui-ci est exécuté via sqlplus.
ex simplifié:
Le script fonctionne parfaitement, sauf lorsque, comme j'ai malheureusement fait, on se connecte sur le mauvais schéma (on va dire USR1)et que celui a des droits de créations sur le schéma USR2...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE OR REPLACE PACKAGE PKG_X IS ... END PKG_X; / CREATE OR REPLACE PACKAGE BODY USR2.PKG_X IS ... END USR2.PKG_X; /
Et là, c'est le drame...
Si je me connecte sur USR2, le package est ... on pourrait dire présent, mais bien entendu en erreurs de compilation ; d'autant que les spécifications sont absentes...
Si j'essaye de détruire le package, il me retourne
ORA-04043 : objet PKG_X inexistant
04043. 00000 - *object %s does not exist...
.
Normal, je ne l'ai pas créé ...
Si j'essaye de détruire le package body, NO PROBLEM ; il a été créé !
Par contre, si j'essaye de recréer le tout PROPREMENT, dans le bon schéma, AIEEE !!!
En commençant par les spécifications bien-entendu.
Rapport d'erreur -
ORA-00955: ce nom d'objet existe déjà
00955. 00000 - "name is already used by an existing object"
*Cause:
*Action:
Conclusion :
Le package existe mais pas vraiment...
Donc si quelqu'un a l'âme d'un Ghostbuster, je suis preneur, car cette étourderie me met un bazar dans la base...
Merci d'avance.
Partager