Un de mes collègues rencontre un problème lors de la création d'un abonné (non durable) dans une file d'attente Oracle à partir de Java.ORA-01031: Privilèges insuffisants pour créer une connexion JMS à un sujet Oracle
La file d'attente appartient à un schéma (disons OWNER); il essaie de se connecter en tant qu'un autre utilisateur (par exemple ABONNE). ABONNE a été accordé des privilèges DEQUEUE (et ENQUEUE, pour ce que ça vaut) par OWNER.
Lorsqu'il crée la file d'attente avec l'option "multiple_consumers" définie sur FALSE, tout fonctionne correctement. Lorsque « multiple_consumers » est réglé sur TRUE (paramètre dont nous avons besoin), il échoue avec les éléments suivants:
oracle.jms.AQjmsException: ORA-01031: insufficient privileges
ORA-06512: at "SYS.DBMS_AQADM_SYS", line 5757
ORA-06512: at line 1
ORA-06512: at "SYS.DBMS_AQJMS", line 129
ORA-06512: at line 1
at oracle.jms.AQjmsSession.addDurableSubscriber(AQjmsSession.java:3708)
at oracle.jms.AQjmsSession.createSubInOldMode(AQjmsSession.java:2742)
at oracle.jms.AQjmsSession.createDurableSubscriber(AQjmsSession.java:2400)
at oracle.jms.AQjmsSession.forceCreateOldSubscriber(AQjmsSession.java:2884)
at oracle.jms.AQjmsSession.createConsumer(AQjmsSession.java:6820)
S'il se connecte en tant que propriétaire, il réussit.
Comment puis-je définir les privilèges que je dois accorder à ABONNEMENT?
Excellent - bravo pour la réponse rapide. Très appréciée. – Hobo
a corrigé le nom du rôle (manque 'I' au milieu) pour sauver le temps de l'autre sur le comprendre. – Vlad