AUL 4.0.0将正式支持LOB数据类型, 包括Inline LOB, In row LOB和Out of Row LOB. 这里面需要先介绍一下和LOB有关的几个选项. 首先是只和CLOB有关的两个选项:
1, SET CLOB_EDIAN {BIG | LITTLE}
当数据库中的字符集为固定长度时(如单字节字符集和那些字符集名字中后缀是FIXED), 存贮在CLOB中的数据的字符集和数据库的字符集相同. 然而当数据库的字符集为变长时, CLOB中的数据以固定的Unicode格式存贮, Unicode字符集包括两个字节, 因此就有高位优先(Big Edian)和低位优先(Little Edian)的问题. 在10g以前, CLOB的字节优先和机器的硬件相同, 从10g开始, CLOB中的Unicode则总是高位优先(Big Edian)的. 因此增加这个选项来指定CLOB的字节顺序.
2,SET LOB_CONVERT {0:NONE | 1:GBK | 2:UTF8}
从前面的解说来看, CLOB中存贮的数据有可能是Unicode编码的, 这个编码会给数据输入带来问题. 因此增加了这个选项以指定要不要进行编码转换, 可以不指定, 或转换成GBK/UTF8格式, 其他编码的格式转换还没有支持.
接下来一个是指定恢复时LOB数据的存放位置的, 对CLOB和BLOB都有影响.
3,SET LOB_STORAGE {0:INLINE | 1:FILE | 2:NONE}
AUL 4.0.0依旧支持两种恢复格式, 一种是文本格式, 另一种是DMP格式. 当恢复成文本格式时, LOB类型的数据有两个存放选项, 一个是所有数据存成一个文本文件(INLINE模式), 另一种是一个LOB值存成单独的文件(FILE模式), 而NONE模式则不进行LOB恢复, 以空值代款.
NCLOB目前还没有支持, 也没有打算要支持它.