数据库服务器将 BYTE 和 TEXT 值直接写到 UNLOAD TO 文件内。以十六进制转储格式写 BYTE 值,无添加的空格和换行字符。因此,包含 BYTE 数据的 UNLOAD TO 文件的逻辑长度 可能长且难以打印和编辑。
如果您正在卸载包含简单大对象数据类型的文件,请不要使用在 UNLOAD TO 文件中可能作为定 界符出现在 BYTE 或 TEXT 值中的那些字符。另请参阅 DELIMITER 子句 部分。
数据库服务器为 TEXT 数据处理任何需要的代码集转换,请参阅 GBase 8s GLS 用户指南。
如果您正在卸载包含简单大对象数据类型的文件,则将小于 10 KB 的对象临时地存储在内存中。 您可以 DBBLOBBUF 环境变量将 10 KB 设置调整到较大的设置。将大于缺省的或
DBBLOBBUF 设置的 BYTE 或 TEXT 值存储在临时文件中。要获取关于 DBBLOBBUF 的附加 信息,请参阅 《GBase 8s SQL 指南:参考》。
卸载智能大对象
数据库服务器为每一列将智能大对象(从 BLOB 或 CLOB 列)卸载到单独的操作系统文件内,与 UNLOAD TO 文件在客户端计算机上的同一个目录中。 将同一列中所有智能 blob 存储在单个文 件中。filename 有下列之一的格式:
⚫ 对于 BLOB 值: blob########
⚫ 对于 CLOB 值: clob########
在前面的格式中,符号(#)表示该文件中第一个智能大对象的唯一十六进制智能大对象的位数。 智能大对象标识符的数字的最大数目为 17。然而,大多数智能大对象可能有更少位数的标识符。
当数据库服务器卸载第一个智能大对象时,它以智能大对象的十六进制标识符来创建适当的 BLOB
或 CLOB 客户端文件。如果在同一列中出现附加的智能大对象值,则数据库服务器将它们的值写 到同一文件,并对于该文件中的每一 BLOB 或 CLOB 值,在 UNLOAD TO 文件(*.unl)中罗列 sbspace、chunk 和页编号,以及智能大对象标识符。
下列示例展示来自同一列的两个智能大对象值的 UNLOAD TO 文件条目:
Object # 1 Space Chunk Page = [5,6,3] Object ID = 1192071051 Object #2 Space Chunk Page = [5,6,4] Object ID = 1192071050 both rows unloaded
在 UNLOAD TO 文件中,BLOB 或 CLOB 列值以此格式出现:
start_off,length,client_path
在此, start_off 是在客户端文件内智能大对象的开始偏移量(以十六机制格式),length 是 BLOB 或 CLOB 值的长度(以十六进制),client_path 是客户端文件的 pathname。在这些值之 间不可出现空格。 例如,如果 CLOB 值为 512 字节长,且在 /usr/apps/clob9ce7.318 文件中 的偏移量为 256,则在 UNLOAD TO 文件中,CLOB 值显示如下:
|100,200,/usr/apps/clob9ce7.318|
如果 BLOB 或 CLOB 列值占据整个客户端文件,则在 UNLOAD TO 文件中,CLOB 或 BLOB
列值显示如下:
client_path
例如,如果 CLOB 值占据整个文件 /usr/apps/clob9ce7.318,则在 UNLOAD TO 文件中,
CLOB 值显示如下:
|/usr/apps/clob9ce7.318|
对于支持多字节代码集的语言环境,请确信接收字符数据的任何列的声明的大小(以字节为单位) 足够大,可以存储整个数据字符串。对于某些语言环境,这可需要高达数据字符串中逻辑字符数目 的 4 倍。
数据库服务器为 CLOB 数据处理任何需要的代码集转换。要获取更多信息,请参阅 GBase 8s GLS
用户指南。
卸载复杂类型
在 UNLOAD TO 文件中,复杂数据类型的值显示如下:
⚫ 以适当的构造函数(MULTISET、LIST、SET)引入集合,以逗号分隔的它们的元素括在 大括号({ })中:
constructor{val1 , val2 , ... } 例如,要从 SET (INTEGER NOT NULL) 数据类型的列卸载 SET 值 {1, 3, 4},UNLOAD TO 文件的相应的字段显示如下:
|SET{1 , 3 , 4}|
⚫ 通过 ROW 构造函数引入 ROW 类型(命名的和未命名的),且将它们的字段括在圆括 号之间,并以逗号分隔:
ROW(val1 , val2 , ... ) 例如,要卸载 ROW 值 (1, 'abc'),UNLOAD TO 文件的对应的字段显示如下:
|ROW(1 , abc)|




