Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> oracle.AQ.AQOracleSQLException: ORA-21700: objekt findes ikke eller er markeret til sletning
Hey There,
I'm trying to post a message to the queue. To post a message to an advanced queue, the message should implement the SQLData interface. The implementation of this interface has been done in the following way:
private String sqlType;
private String userData;
protected XmlData() { };
public XmlData (String sql_type, String xml)
{
this.sqlType = sql_type;
this.userData = xml;
}
public String getSQLTypeName() throws SQLException
{
return this.sqlType;
}
public void readSQL(SQLInput stream, String typeName) throws SQLException
{
this.sqlType = typeName;
this.userData = stream.readString();
}
public void writeSQL(SQLOutput stream) throws SQLException
{
stream.writeString(this.userData);
}
}
-- snip --
The table looks in the following way:
Using the above by adding a message to the queue is done like this:
Class.forName("oracle.jdbc.pool.OracleConnectionCacheImpl").newInstance();
conn =
DriverManager.getConnection("jdbc:oracle:thin:@host:1521:sid","user","pass")
;
conn.setAutoCommit(false);
/* Java types to Oracle UDT mapping */ Map map = conn.getTypeMap(); map.put(XmlData.SQL_TYPE , Class.forName("package.XmlData")); stmt = conn.createStatement(); Class.forName("oracle.AQ.AQOracleDriver").newInstance(); aqSession = AQDriverManager.createAQSession(conn); queue = aqSession.getQueue(Util.getResourceString("xxx","PA_QUEUE_USER"), /*queue name*/XmlData.SQL_TYPE );
/* fetch message data from another source */ // 'handle' holds a collection of all messages to be sent // the xml is ready, so put it on the queue while (null != (xml = handle.getXml())) { message = queue.createMessage(); payload = message.getObjectPayload(); payload.setPayloadData(new XmlData(XmlData.SQL_TYPE, xml)); eq_option = new AQEnqueueOption(); queue.enqueue(eq_option, message); // FAILS conn.commit(); }
The enqueue method gives the following error:
byte[] oracle.AQ.AQOracleQueue.enqueue(oracle.AQ.AQEnqueueOption,
oracle.AQ.AQMessage)
AQOracleQueue.java:1236
-- snip --
I hope someone can help me with this problem as soon as possible.
Thanks in regards,
Jess
Received on Tue Jan 11 2005 - 08:20:36 CST
![]() |
![]() |