更新日期:2024年09月11日
智能大对象是带有下列特性的大对象:
•
智能大对象可保存非常大量的数据。
当前,单个智能大对象可保存最多 4 TB 数据。此数据存储在称为 sbspace 的独立
磁盘空间中。
•
智能大对象是可恢复的。
数据库服务器可将更改日志记录至智能大对象,因此,在系统或硬件故障时可恢复
智能大对象数据。智能大对象的日志记录不是缺省的行为。
•
智能大对象支持对其数据的随机访问。
以“全部或者全不”方式访问简单大对象(BYTE 或 TEXT);也就是说,数据库
服务器一次返回您请求的所有简单大对象数据。对于智能大对象,可寻找所需的位
置,并读或写所需的字节数。
•
可定制智能大对象的存储特征。
当创建智能大对象时,可指定智能大对象的存储特征,诸如:
GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 136 -
ₒ
数据库服务器是否根据当前数据库日志模式来日志记录智能大对象
ₒ
数据库服务器是否保存最后一次访问智能大对象的痕迹
ₒ
数据库服务器是否使用页标头来检测数据损坏与否
在数据库中作为 BLOB 和 CLOB 数据类型来存储智能大对象,您可以两种方式访问它们:
•
在 GBase 8s JDBC Driver 3.0 和后来版本中,以及支持支持智能大对象数据类型
的 GBase 8s 服务器中,可使用 JDBC 3.0 规范中描述的标准 JDBC API 方法。这
是较简单的方法。
已实现了对于 BLOG 和 CLOB 内部更新的下列 JDBC 3.0 方法:
int setBytes(long, byte[]) throws SQLException
void truncate(long) throws SQLException
在 GBase 8s JDBC Driver Version 3.0 或后来版本中实现来自 BLOB 接口的下列
JDBC 3.0 方法:
OutputStream setBinaryStream(long) throws SQLException
int setBytes(long, byte[], int, int) throws SQLException
在 GBase 8s JDBC Driver Version 3.0 或后来版本中,实现来自 CLOB 接口的下列
JDBC 3.0 方法:
OutputStream setAsciiStream(long) throws SQLException Writer
setCharacterStream(long) throws SQLException
int setString(long, String) throws SQLException
int setString(long, String, int, int) throws SQLException
•
可使用 GBase 8s 内基于智能大对象支持的 GBase 8s 扩展。此方法提供更多选项。