南大通用GBase8s 常用SQL语句(284)

在非缺省的语言环境中的 UNLOAD TO 数据格式

在非缺省的语言环境中,DATE、DATETIME、MONEY 和数值列值有语言环境对这些数据类型支持的格式。要获取更多信息,请参阅 GBase 8s GLS 用户指南。要获取更多关于 DBDATEDBMONEY 和 DBTIME 环境变量的信息,请参考 GBase 8s SQL 参考指南

在使用非缺省的语言环境的数据库中,如果 GL_DATETIME 环境变量有非缺省的设置,则在 UNLOAD 语句可正确地将本地化的 DATETIME 值正确地从数据库表,或从视图,或从通过 EXTERNAL TABLE 语句定义的表对象卸载之前,必须将 USE_DTENV 环境变量设置为 1。要获取更多关于 GL_DATETIMEGL_DATE 和 USE_DTENV 环境变量的信息,请参考 GBase 8s GLS 用户指南

卸载字符列

在包含 VARCHAR 或 NVARCHAR 列的卸载文件中,在 VARCHAR、LVARCHAR 或 NVARCHAR 字段中保留结尾空格。当卸载 CHAR 或 NCHAR 列时,丢弃这些结尾空格。

对于 CHAR、VARCHAR、NCHAR 和 NVARCHAR 列,空字符串(长度为零,不包含字符的数据字符串)出现在 UNLOAD TO 文件中,为四个字节 "|\ |"(定界符、反斜杠、空格、定界符)。

GBase 8s 数据库服务器的一些较早版本使用了 "||"(连续的定界符)来表示 LOAD 和 UNLOAD 操作中的空字符串。然而,在此版本中,"||" 仅表示 CHAR、VARCHAR、LVARCHAR、NCHAR 和 NVARCHAR 列中的 NULL 值。

卸载简单大对象

数据库服务器将 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 有下列之一的格式:

  1. 对于 BLOB 值: blob########
  2. 对于 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 用户指南

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值