Quand je vérifie ce Question , je ne comprends pas pourquoi la solution ne fonctionne pas pour moi. J'exécute le code suivant: et obtenir l'erreur:
La base de données est organisée à Shemes, où Datenbasis est un schéma. Il semble donc que ce qui suit:
Base de données ---> DATENBASIS -> TABLE -> Transaction P> Que dois-je manquer ici, qu'est-ce que je dois spécifier? P> Je suis Connexion comme suit: p> BasewareError: ora-00942: tableau ou affichage n'existe pas code> p>
3 Réponses :
L'erreur est effacée:
1.L'utilisateur que vous connectez n'a aucun privilège sur la table.
2.La table n'existe pas du tout. P> Vous devez demander à votre DBA d'accorder une sélection sur la table à votre utilisateur. P> En plus, Vous devriez changer: p> pour p> où schema_owner est le schéma qui possède la table. Si vous ne voulez pas changer cette dernière pièce, vous devez créer un synonyme. P> p>
Comment savoir qui est le schema_owner?
Sélectionnez le propriétaire à partir de dba_tables où table_name = 'transaction'
Si j'exécute cur.execute ("Sélectionnez le propriétaire de dba_tables où table_name = transaction") code> i Obtenir l'erreur: Beabliecharror: ora-00904
En effet, votre utilisateur n'a aucun privilège à la DBA_Tables. Vous devez demander à votre DBA pour cela
Vous pouvez interroger à partir de all_tables code> au lieu de dba_tables code>
Si la requête sur All_Tables vous donne 0 rangées, cela signifie que votre utilisateur n'a aucun privilège sur la table. Si la requête fonctionne, remplacez Schema_Weler par la sortie de cette requête.
La réponse est de choisir le bon schéma avec le curseur, le code de travail ressemble à:
Vérifiez si vous pouvez sélectionner dans la table du développeur SQL Plus / SQL, sinon l'ID utilisateur que vous utilisez pour vous connecter à la DB n'a pas accès à cette table. P>
Sélectionnez * à partir de DATENBASIS.Transaction; P>
Connectez-vous comme utilisateur
datenbasis code>?Je n'ai aucune idée de ce que tu veux dire, j'ai ajouté des explications dans mon édition