在ojdbc6中,unmarshalCLR和unmarshalUB1有什么作用?
In ojdbc6, what does unmarshalCLR and unmarshalUB1 do?
在 ojdbc6 中,访问者可以在从数据库解组结果期间调用 oracle.jdbc.driver.T4CMAREngine
的 unmarshalCLR
方法。 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 字节)。
在 ojdbc6 中,访问者可以在从数据库解组结果期间调用 oracle.jdbc.driver.T4CMAREngine
的 unmarshalCLR
方法。 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 字节)。