暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

卸载简单大对象

淮海路小佩奇 2023-09-26
41


数据库服务器将 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)| 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论