在ojdbc6中,unmarshalCLR和unmarshalUB1有什么作用?

In ojdbc6, what does unmarshalCLR and unmarshalUB1 do?

在 ojdbc6 中,访问者可以在从数据库解组结果期间调用 oracle.jdbc.driver.T4CMAREngineunmarshalCLR 方法。 unmarshalCLR里面还有这个unmashalUB1方法

这两个方法有什么作用?

这是 Oracle 数据库特定的东西,与其 TNS 协议有关。

google 搜索出现 a spec,但我不知道它有多准确或最新。

提及 CLR:

A CLR is a byte array in 64-byte blocks. If its length <=64, it is just length-byte-preceeded and written as native. Null arrays can be written as the single bytes 0x0 or 0xff. If length >64, first a LNG byte (0xfe) is written, then the array is written in length-byte-preceeded chunks of 64 bytes (although the final chunk can be shorter), followed by a 0 byte. A chunk preceeded by a length of 0xfe is ignored.

看起来 CLR 是一个编码的字节数组。

UB1 只是一个无符号字节(数据类型长度为 1 字节)。