|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 93 ![]() |
Bonjour à tous.
Je suis actuellement dans la maintenance et le développement d'une appli avec une base Oracle. Y a des vues et des schémas différents. En schema j'ai BUDGET_2009, BUDGET_2010, BUDGET_2011 Et des vues... Pourquoi parfois j'ai par exemple: Sur une requête j'ai : Ça me retourne une erreur : "table or view does not exist" alors que le dblink existe, la vue aussi et que la même requête, exactement la même mais avec le schéma : fonctionne. Si je mets pour 2011: là ça fonctionne... Bref j'ai du mal à comprendre si quelqu'un pouvait m'éclairer sur la syntaxe entre les vues, schémas, table et les . ou les @ dans quel cas utiliser une forme plutôt que l'autre, je suis preneur Merci à tous. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 437 ![]() |
l'expression complète est
Code :
SELECT [NOM DU SCHEMA.]Nom de la table/vue[@DBLINK] Quand il y a un . c'est que tu vas chercher dans un schéma particulier.
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 93 ![]() |
Merci McM j'y vois plus clair
Mais dans ce cas j'ai une autre question. J'ai donc 2 schemas EBUDGET_2010 et EBUDGET_2011. Pourquoi si je fais : OK KO OK Pourtant EBUDGET_2011 est un schemas donc je devrais pas mettre @EBUDGET_2011 pour que ca fonctionne. Et pourtant EBUDGET_2011.table ca fonctionne pas alors que EBUDGET_2010.table c'est ok... |
|
|
00
|
|
|
#4 | ||||
|
Membre expérimenté
![]() François Inscription : février 2010 Messages : 305 ![]() |
Bonjour,
Disons que c'est la meme difference qu'entre demander une info a son collegue de bureau, et aller la demander a une personne qui est dans un autre batiment. Code :
Dans le second cas, j'utilise une base totalement differente. Ca ete defini a quel base je me connectais lors de la creation du db-link Code :
Malheureusement, cette table n'existe pas pour cet utilisateur la. |
||||
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 93 ![]() |
Merci Rams7s, je comprends bien les histoires de schemas, link mais y a encore des choses qui me tracassent.
En fait doit-on créer un link entre 2 schemas? Dans ton premier cas tu comptes donc le nb de ligne de la table TMP de l'utilisateur TMP en étant TMP2 ok. Mais faut-il pour cela créer un link entre les deux schemas? Ou le fait que ce soit la même base la lecture est possible par defaut? Aussi autre question, entre deux bases A et B. Si je veux que A puisse lire sur B. avec un dblink bien sur. Faut créer le DBlink sur A pour lire B. Ou le créer sur B pour autoriser A à venir lire? Ou sur les deux bases? |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Il faut le créer dans la base qui va l'utiliser bien entendu, donc dans A
|
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 93 ![]() |
Ok merci pour vos réponses
Je comprends beaucoup mieux. Entre temps j'ai trouvé d'ou venait mon problème. Sur mon schema EBUDGET j'ai des utilisateurs EBUDGET_2009, EBUDGET_2010, EBUDGET_2011 (qui sont des schemas) avec pour chaque utilisateur deux tables. Or pour l'utilisateur EBUDGET_2011 je vois qu'une table, c'est pour ca qu'il me marque "table or view does not exist" lorsque j'interroge cette fameuse table qu'il ne voit pas. Alors qu'il voit l'autre... Comment faire pour que les deux tables apparaissent? |
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 437 ![]() |
Il faut que le propriétaire de la table donne le droit de voir la table (grant select)
Maintenant, si les 2 tables sont normalement créées dans chaque schéma, et que l'utilisateur EBUDGET_2011 n'en possède qu'une.. alors c'est qu'il manque simplement la table. maintenant le plus simple c'est de voir les objets au niveau base (avec le propriétaire). A faire en tant qu'utilisateur ayant le rôle dba Code :
__________________
More Code : More Bugs. Less Code : Less Bugs |
||
|
|
00
|
|
|
#9 |
|
Membre à l'essai
![]() Inscription : novembre 2009 Messages : 93 ![]() |
Merci McM, j'ai effectivement donné les droits à EBUDGET de voir la table en question du schema EBUDGET_2011 et ca marche
Bon et bien le sujet est résolu, merci à tous et bonnes vacances pour ceux qui partent |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com