当前位置 : 主页 > 网络编程 > 其它编程 >

DelphiODAC:从OracleAQ中删除JMS消息

来源:互联网 收集:自由互联 发布时间:2023-07-02
请求队列包含这样的JMS对象(但没有换行符和其他空格):SYS.AQ$_JMS_BYTES_MESSAGE(SYS.AQ$_JMS_HEADER(null,null,null,nu 请求队列包含这样的JMS对象(但没有换行符和其他空格): SYS.AQ$_JMS_BYTES_MESSAGE( SYS.AQ
请求队列包含这样的JMS对象(但没有换行符和其他空格):SYS.AQ$_JMS_BYTES_MESSAGE(SYS.AQ$_JMS_HEADER(null,null,null,nu

请求队列包含这样的JMS对象(但没有换行符和其他空格):

SYS.AQ$_JMS_BYTES_MESSAGE(

SYS.AQ$_JMS_HEADER(

null,null,null,null,null,null,

SYS.AQ$_JMS_USERPROPARRAY(

SYS.AQ$_JMS_USERPROPERTY(Key1,100,Value1,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key2,100,Value2,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key3,100,Value3,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key4,100,Value4,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key5,100,Value5,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key6,100,Value6,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key7,100,Value7,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key8,100,Value8,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key9,100,Value9,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key10,100,Value10.0,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key11,100,Value11,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key12,100,Value12,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key13,100,Value13,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key14,100,Value14,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key15,100,Value15,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key16,100,Value16,null,27),

SYS.AQ$_JMS_USERPROPERTY(Key17,100,Value17,null,27)

)

),

4168,null,oracle.sql.BLOB959acc

)

我可以接收底层对象(字符串有效负载返回为空字符串,但TOraObject有效负载包含数据)。

我正在尝试取消对TOraObject负载的检查,并正在寻找一个表,该表将数据类型值转换为正确的AttrXxxx[Name]属性调用。

OraType.AttributeCount:4

OraType.Name:"SYS"."AQ$_JMS_BYTES_MESSAGE"

OraType.DataType:15

Attribute[0].Name:HEADER

Attribute[0].DataType:15

OraType.AttributeCount:7

OraType.Name:"SYS"."AQ$_JMS_HEADER"

OraType.DataType:15

Attribute[0].Name:REPLYTO

Attribute[0].DataType:15

OraType.AttributeCount:3

OraType.Name:"SYS"."AQ$_AGENT"

OraType.DataType:15

Attribute[0].Name:NAME

Attribute[0].DataType:1

Attribute[1].Name:ADDRESS

Attribute[1].DataType:1

Attribute[2].Name:PROTOCOL

Attribute[2].DataType:5

Attribute[1].Name:TYPE

Attribute[1].DataType:1

Attribute[2].Name:USERID

Attribute[2].DataType:1

Attribute[3].Name:APPID

Attribute[3].DataType:1

Attribute[4].Name:GROUPID

Attribute[4].DataType:1

Attribute[5].Name:GROUPSEQ

Attribute[5].DataType:5

Attribute[6].Name:PROPERTIES

Attribute[6].DataType:17

OraType.AttributeCount:1

OraType.Name:"SYS"."AQ$_JMS_USERPROPARRAY"

OraType.DataType:17

Attribute[0].Name:ELEMENT

Attribute[0].DataType:15

OraType.AttributeCount:5

OraType.Name:"SYS"."AQ$_JMS_USERPROPERTY"

OraType.DataType:15

Attribute[0].Name:NAME

Attribute[0].DataType:1

Attribute[1].Name:TYPE

Attribute[1].DataType:5

Attribute[2].Name:STR_VALUE

Attribute[2].DataType:1

Attribute[3].Name:NUM_VALUE

Attribute[3].DataType:5

Attribute[4].Name:JAVA_TYPE

Attribute[4].DataType:5

Attribute[1].Name:BYTES_LEN

Attribute[1].DataType:5

Attribute[2].Name:BYTES_RAW

Attribute[2].DataType:1

Attribute[3].Name:BYTES_LOB

Attribute[3].DataType:102

case DataType of

102:

LOB : ObjectPayLoad.AttrAsLob[Name];

15:

AttributeOraObject : ObjectPayLoad.AttrAsObject[Name];

17:

AttributeOraArray : ObjectPayLoad.AttrAsArray[Name];

else

begin

PayLoadAttributeAsString : ObjectPayLoad. AttrAsString[Name];

Logger.Log( "%s", [PayLoadAttributeAsString]);

end;

end;

欢迎提供更完整的列表:-)

在这之后,我需要研究另一种方法:生成包含JMS内容的右toraoobject。

这方面的建议也很受欢迎。

网友评论