Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
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 07/12/2006, 14h03   #1
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 98
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 98
Points : 25
Points : 25
Par défaut Contenu ALL_TAB_COLUMNS différent dans une PROCEDURE PL/SQL

Bonjour à tous !!!

Voila, j'ai une procedure PL/SQL qui consulte la table ALL_TAB_COLUMNS pour récupérer les champs d'une table.

Mon probleme est qu'il ne trouve pas les références de la table. Hors, le même appel (avec le même user) en SQLPlus me renvoie bien les références de ma table.

Mon appel:

Code :
1
2
3
4
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, COLUMN_ID
FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME = 'MA_TABLE'
ORDER BY COLUMN_ID
Je ne comprend pas puisque les droits sont (semble) biens atribués.
Est-ce que les procédures ont des droits d'accès différents de ceux du compte avec lequel je me connecte (et lance la procedure) ???

Merci
++
hair_peace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2006, 14h14   #2
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Oui, par défaut, les rôles ne sont pas pris en compte dans le code PL/SQL: seuls les droits accordés directement par GRANT sans utiliser de rôle sont pris en compte.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2006, 14h22   #3
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 98
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 98
Points : 25
Points : 25
Merci pifor !!!

Mais je n'utilise pas de rôles. Je fais directement des GRANT privilege TO user...
hair_peace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2006, 15h21   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
et sys.ALL_TAB_COLUMNS ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2006, 16h00   #5
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 98
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 98
Points : 25
Points : 25
Merci Fred_D !!!

Je n'ai pas essayé avec sys.ALL_TAB_COLUMNS (ceci dit, je n'ai pas de probleme pour accéder à cette table)

Sinon j'ai trouvé la cause du problème (à confirmer):

les droits utilisés pour une procédure sont ceux de l'USER qui a créé cette procédure et non ceux de celui qui l'appelle. (sans les droits accordé via un rôles (j'ai pas vérifié...))

Solution: donner les droits d'accès à MA_TABLE à cet USER.

Voila,
merci encore à vous deux et aux autres
++
hair_peace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2006, 16h03   #6
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
C'est pour cela qu'il est possible de définir que la procédure utilisera les droits de l'utilateur connecté et non pas ceux du propriétaire de la procédure:

Code :
1
2
 
CREATE PROCEDURE .... AUTHID CURRENT_USER
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 11h25   #7
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 98
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 98
Points : 25
Points : 25
Merci SheikYerbouti !!!

J'ai pas encore implémenté mais ca va bien me simplifier la vie !!!

++
hair_peace 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 13h55.


 
 
 
 
Partenaires

Hébergement Web