Question

Un de mes collègues est d'avoir un problème de créer un abonné (non durable) à une file d'attente Oracle de Java.

La file d'attente est possédée par une schéma (disons OWNER); il essaie de se connecter comme un autre utilisateur (dire ABONNE). ABONNE a été accordé des privilèges de DEQUEUE (et ENQUEUE, pour ce qu'il vaut la peine) par le propriétaire.

Quand il crée la file d'attente avec le « multiple_consumers » option sur FAUX, tout fonctionne bien. 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 travailler sur les privilèges que je dois accorder à ABONNE?

Était-ce utile?

La solution

Soit vous devez créer un abonné durable, ou avoir le AQ_ADMINISTRATOR_ROLE accordé à l'utilisateur de se connecter -. Pas un grand modèle de sécurité, mais qui est la mise en œuvre d'Oracle pour le moment

https://forums.oracle.com/forums/thread.jspa ? messageId = 9793091

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top