【发布时间】:2011-11-25 00:42:40
【问题描述】:
我已经安装了 Oracle11.2.0(windows,32 位)并尝试创建一个队列表.. (我已授予 jmsuser、AQ_ADMINISTRATOR_ROLE、AQ_USER_ROLE、DB_Access 的所有权限。
当尝试创建队列表时,Oracle 给出以下问题;
oracle.jms.AQjmsException: ORA-01017: 无效的用户名/密码;登录被拒绝 ORA-06512:在“SYS.DBMS_AQADM”,第 81 行
我的示例代码如下,
createQueue(Session session) {
AQQueueTableProperty qt_prop;
AQQueueTable q_table;
AQjmsDestinationProperty dest_prop;
Queue queue;
qt_prop = new AQQueueTableProperty("SYS.AQ$_JMS_BYTES_MESSAGE");
/* create a queue table */
q_table = ((AQjmsSession) session).createQueueTable("jmsuser", "test_queue_table",
qt_prop);
}
有什么想法吗?
谢谢
【问题讨论】:
-
错误消息说这是一个身份验证问题(用户名或密码),而不是授权(授予)问题。您确定您使用有效的用户名和密码连接到数据库吗?您是在连接字符串中输入用户名和密码还是单独提供?
-
是的,我可以通过 sqlplus 和 sqldeveloper 连接到我的用户...在创建表之前,我有以下几行并且连接已成功建立。 QFac = AQjmsFactory.getQueueConnectionFactory(主机名,oracle_sid,端口号,驱动程序); QCon = QFac.createQueueConnection(用户名,密码); session = QCon.createQueueSession(true, Session.CLIENT_ACKNOWLEDGE); QCon.start();之后,尝试创建表,但不能..:(
标签: queue jms oracle11g message-queue oracle-aq