Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Débuter
Débuter Forum d'entraide pour débuter avec Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/06/2011, 10h38   #1
Membre éclairé
 
Inscription : janvier 2009
Messages : 318
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : janvier 2009
Messages : 318
Points : 355
Points : 355
Envoyer un message via MSN à wakan
Par défaut Schema.Objet prérequis pour y accéder

Bonjour,
Code :
1
2
3
CREATE OR REPLACE
type       Schema.NomType  AS TABLE of Schema."NomAutreType";
/
Erreur : Référence de sous programme ou de cursor 'Schéma'' est hors étendue.

Sachant que la requete suivante fonctionne.
Code :
1
2
3
CREATE OR REPLACE
type       Schema.NomType AS TABLE of "NomAutreType";
/
Autre type est dans le meme schéma que Type.

Il doit falloir un synonyme je pense mais un synonyme sur quoi et pour quel utilisateur.

Ce code est créer automatiquement par toad à la compilation du package.
Code :
1
2
3
CREATE OR REPLACE
type       Schema.NomType  AS TABLE of Schema."NomAutreType";
/

Que faut-il définir dans la base pour que éviter cette erreur ?
Merci.
wakan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 00h35   #2
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
Peux tu fournir un cheminement clair de tes actions stp.
Moi depuis un user avec les rôles connect, resource et dba en 11gr2 :
Code :
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
SQL> DROP user u2 cascade;
 
User dropped.
 
SQL> CREATE user u2 IDENTIFIED BY u2
  2  /
 
User created.
 
SQL> GRANT connect, resource TO u2
  2  /
 
GRANT succeeded.
 
SQL> CREATE OR REPLACE type u2.test_type_u2 AS object (c1 int, c2 varchar2(10))
  2  /
 
Type created.
 
SQL> CREATE OR REPLACE type u2.test_table AS TABLE of u2.test_type_u2
  2  /
 
Type created.
 
SQL>
Sinon depuis le user u2 (sans les droits dba) :
Code :
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
SQL> conn u2/u2
Connected.
SQL> DROP type test_table 
  2  /
 
Type dropped.
 
SQL> CREATE OR REPLACE type u2.test_type_u2 AS object (c1 int, c2 varchar2(10))
  2  /
 
Type created.
 
SQL> CREATE OR REPLACE type u2.test_table AS TABLE of u2.test_type_u2
  2  /
 
Type created.
 
SQL> 
SQL> CREATE OR REPLACE type "NomAutreType" AS object (c1 int, c2 varchar2(10))
  2  /
 
Type created.
 
SQL> CREATE OR REPLACE type u2.NomType AS TABLE of u2."NomAutreType"
  2  /
 
Type created.
 
SQL>
Peux tu aussi préciser le numéro ORA de ton erreur ?
Citation:
Ce code est créer automatiquement par toad à la compilation du package.
Toad ne crée pas "automatiquement" des types pour compiler des packages... Il faut donc trouver d'où ils proviennent.
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/06/2011, 09h05   #3
Membre expérimenté
 
Homme Mohamed Houri
Inscription : mars 2010
Messages : 286
Détails du profil
Informations personnelles :
Nom : Homme Mohamed Houri
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 286
Points : 563
Points : 563
Citation:
Envoyé par wakan Voir le message
Bonjour,
Code :
1
2
CREATE OR REPLACE
type       Schema.NomType  AS TABLE of Schema."NomAutreType"
Erreur : Référence de sous programme ou de cursor 'Schéma'' est hors étendue.
Bonjour,

Juste une question simple mais qui me semble être d'une réelle importance:
pourquoi vous utilisez les doubles côtes lors de la creation du type?

Bien à vous

Mohamed Houri
Mohamed.Houri est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/06/2011, 09h34   #4
Membre éclairé
 
Inscription : janvier 2009
Messages : 318
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : janvier 2009
Messages : 318
Points : 355
Points : 355
Envoyer un message via MSN à wakan
Bonjour,

Citation:
Envoyé par Mohamed.Houri Voir le message
Bonjour,

Juste une question simple mais qui me semble être d'une réelle importance:
pourquoi vous utilisez les doubles côtes lors de la creation du type?

Bien à vous

Mohamed Houri
Question simple, réponse simple : Parce que toad me génère la requête de création du type avec les doubles quotes dans la requêtes.

Citation:
Envoyé par skuatamad Voir le message
Peux tu aussi préciser le numéro ORA de ton erreur ?
PLS-00225

Citation:
Envoyé par skuatamad Voir le message
Toad ne crée pas "automatiquement" des types pour compiler des packages... Il faut donc trouver d'où ils proviennent.
Moi les types sont créer à chaque fois que je compile mes spécifications et qu'il me crée du coup le package.




Je suis plutot dans ce cas.
Citation:
Envoyé par skuatamad Voir le message
Sinon depuis le user u2 (sans les droits dba) :
Code :
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
SQL> conn u2/u2
Connected.
SQL> DROP type test_table 
  2  /
 
Type dropped.
 
SQL> CREATE OR REPLACE type u2.test_type_u2 AS object (c1 int, c2 varchar2(10))
  2  /
 
Type created.
 
SQL> CREATE OR REPLACE type u2.test_table AS TABLE of u2.test_type_u2
  2  /
 
Type created.
 
SQL> 
SQL> CREATE OR REPLACE type "NomAutreType" AS object (c1 int, c2 varchar2(10))
  2  /
 
Type created.
 
SQL> CREATE OR REPLACE type u2.NomType AS TABLE of u2."NomAutreType"
  2  /
 
Type created.
 
SQL>
Je suis sur la version 10 de oracle.

Mon utilisateur à les droits ressource et connect.

En executant
Code :
CREATE OR REPLACE type LOG.NomType AS TABLE of LOG.TYPE_EXISTANT;
J'obtiens exacetement la même erreur
PLS-00225: référence de sous-programme ou de curseur 'LOG' est hors étendue


En tous cas merci de votre aide.
wakan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 10h33   #5
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
Cette erreur semble souvent liée à l'utilisation de mots réservés par oracle.
Vérifie si le nom du user n'appartient pas cette liste :
Oracle Reserved Words
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/06/2011, 11h29   #6
Membre éclairé
 
Inscription : janvier 2009
Messages : 318
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : janvier 2009
Messages : 318
Points : 355
Points : 355
Envoyer un message via MSN à wakan
Citation:
Envoyé par skuatamad Voir le message
Cette erreur semble souvent liée à l'utilisation de mots réservés par oracle.
Vérifie si le nom du user n'appartient pas cette liste :
Oracle Reserved Words
Merci de ta réponse, je vais vérifier.
skuatamad un grand merci c'est excellent.
wakan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h49.


 
 
 
 
Partenaires

Hébergement Web