返回首页

gbase数据、南大通用产品文档:GBase8acomgbasejdbcClob 类

更新日期:2024年09月11日

来自com.gbase.jdbc.Clob,该类提供通用的方法来处理数据库中的Clob 类型数据,
类似的接口有java.sql.Clob。GBase JDBC 通过以下几种数据类型来支持Clob、

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1021
TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT 。
所有已实现的接口
java.sql.Clob 、com.gbase.jdbc.OutputStreamWatcher 、
com.gbase.jdbc.WriterWatcher
属性如下:

private String charData;
该属性为Clob 对象包含字符数据。

private ExceptionInterceptor exceptionInterceptor;
声明一个异常拦截器。ExceptionInterceptor
来自
com.gbase.jdbc.
ExceptionInterceptor。
表6-7 Clob 类方法列表
类型
名称
说明

Clob(ExceptionInterceptor
exceptionInterceptor)
一个构造函数,
用来创建一个新的Clob
对象。

Clob(String charDataInit,
ExceptionInterceptor
exceptionInterceptor)
一个构造函数,
用来创建一个新的Clob
对象。

free()
该方法释放该Clob 对象所占用的资源。

InputStream
getAsciiStream()
以ascii 流返回该Clob 值。
Reader
getCharacterStream()
以java.io.Reader 对象或以characters 流
的形式返回该Clob 值。
Reader
getCharacterStream(long pos, long
length)
返回从pos 开始的,长度为length 的部
分Clob 值。
String
getSubString(long startPos, int
length)
返回该Clob 对象指定位置开始一定长
度的String。
long
length()
返回该Clob 对象的值长度。
long
position(java.sql.Clob arg0, long
arg1)
返回指定的Clob 值在该Clob 对象值中
指定位置后出现的位置。
long
position(String stringToFind, long
startPos)
返回指定字符串在该Clob 对象值中指
定位置开始后出现的位置
OutputStream
setAsciiStream(long
indexToWriteAt)
用于将 Ascii 字符写入此 Clob 对象
表示的 Clob 值中的流( 位置
indexToWriteAt 处)。
Writer
setCharacterStream(long
indexToWriteAt)
用于将 Unicode 字符流写入此 Clob
对象表示的 CLOB 值中的流(位置
indexToWriteAt 处)。
int
setString(long pos, String str)
在位置 pos 处将给定 Java String 写
入此 Clob 对象指定的 CLOB 值中。
int
setString 诉讼(long pos, String str,
int offset, int len)
将 str 的 len 个字符写入此 Clob 表
示的 CLOB 值中,从字符 offset 开
始。

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1022
类型
名称
说明

streamClosed(WatchableOutputStr
eam out)
将该Clob 对象值通过指定stream 写完,
并将stream 关闭。

truncate(long length)
截取该Clob 对象值,使其长度为
length。

writerClosed(WatchableWriter out)
将指定的char[]赋值给该Clob 对象的
charData 属性。

writerClosed(char[]
charDataBeingWritten)
将该Clob 对象值通过指定Writer 写完,
并将Writer 关闭。
方法详细信息:

Clob(ExceptionInterceptor exceptionInterceptor)
初始化构造一个Clob 对象,该Clob 对象初始化属性charData 为空字符串,初
始化属性exceptionInterceptor 为参数exceptionInterceptor。
说明
ExceptionInterceptor 来自com.gbase.jdbc. ExceptionInterceptor。
由于该构造函数是非public 的,所以对于使用JDBC 的开发人员来说,该构造
函数是不可见的。

Clob(String charDataInit, ExceptionInterceptor exceptionInterceptor)
初始化构造一个Clob 对象,该Clob 对象初始化属性charData 为参数
charDataInit,初始化属性exceptionInterceptor 为参数exceptionInterceptor。
说明
ExceptionInterceptor 来自com.gbase.jdbc. ExceptionInterceptor。
由于该构造函数是非public 的,所以对于使用JDBC 的开发人员来说,该构造
函数是不可见的。

free()
public void free() throws SQLException
该方法释放该Clob 对象所使用的资源,一旦使用该方法,该对象将变得不可
用。在该方法被调用后如果还企图去调用该Clob 对象free()以外的方法,将会
得到一个SQLException 的异常。多次调用free 方法,后来的free 方法将被视
为无操作。
抛出:
SQLException – 在释放Clob 对象资源时发生错误。
SQLFeatureNotSupportedException – 如果JDBC 版本不支持该方法。

getAsciiStream()

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1023
public InputStream getAsciiStream() throws SQLException
以 ascii 流形式获取此 Clob 对象指定的 CLOB 值。
返回:
包含 CLOB 数据的 java.io.InputStream 对象。
抛出:
SQLException - 如果访问 CLOB 值时发生错误。
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法。

getCharacterStream()
public Reader getCharacterStream() throws SQLException
以 java.io.Reader 对象形式(或字符流形式)获取此 Clob 对象指定的 CLOB
值。
返回:
包含 CLOB 数据的 java.io.Reader 对象
抛出:
SQLException - 如果访问 CLOB 值时发生错误。
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法。

getCharacterStream(long pos, long length)
public Reader getCharacterStream(long pos, long length)
throws SQLException
返回包含部分 Clob 值的 Reader 对象,
该值从 pos 指定的字符开始,
长度为
length 个字符。
参数:
pos - 将获取的部分值第一个字符的偏移量。Clob 中的第一个字符在位置 1
处。
length - 要获取的部分值的字符长度。
返回:
Reader,可以通过它来读取部分 Clob 值。
抛出:
SQLException - 如果 pos 小于 1,
或者 pos 大于 Clob 中的字符数,
或者 pos
+ length 大于 Clob 中的字符数。
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法。

getSubString(long startPos, int length)

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1024
public String getSubString(long startPos, int length)
throws SQLException
获取此 Clob 对象指定的 CLOB 值中指定子字符串的副本。子字符串开始于
位置 startPos 处,有 length 个连续字符。
参数:
startPos - 要提取的子字符串的第一个字符。第一个字符位于位置 1 处。
length - 要复制的连续字符的数量;length 的值必须大于等于 0。
返回:
一个 String,它是由此 Clob 对象指定的 CLOB 值中的指定子字符串
抛出:
SQLException - 如果访问 CLOB 值时发生错误;如果 pos 小于 1 或者
length 小于 0。
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法。

length()
public long length() throws SQLException
获取此 Clob 对象指定的 CLOB 值中的字符数。
返回:
CLOB 的字符长度。
抛出:
SQLException - 如果访问 CLOB 值的长度时发生错误。
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法。

position(java.sql.Clob arg0, long arg1)
public long position(java.sql.Clob arg0, long arg1)
throws SQLException
获取此 Clob 对象中指定的 Clob 对象 arg0 出现的字符位置。从位置 arg1 开
始搜索。
参数:
arg0- 要搜索的 Clob 对象。
arg1- 开始搜索的位置;第一个位置是 1。
返回:
Clob 对象出现的位置;如果没有出现,则返回 -1;第一个位置是 1。
抛出:

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1025
SQLException - 如果访问 CLOB 值时发生错误,或者 arg1 小于 1。
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法。

position(String stringToFind, long startPos)
public long position(String stringToFind, long startPos)
throws SQLException
与position(java.sql.Clob arg0, long arg1)相似,只不过查找的是String 对象。

setAsciiStream(long indexToWriteAt)
public OutputStream setAsciiStream(long indexToWriteAt)
throws SQLException
获取用于将 Ascii 字符写入此 Clob 对象表示的 Clob 值中的流,从位置
indexToWriteAt 处开始。写入流中的字符将从位置 indexToWriteAt 开始重写
Clob 对象中的现有字节。如果在将字符写入流中时到达 Clob 值的末尾,则
将增加 Clob 值的长度,以容纳额外的字符。
说明
如果为 indexToWriteAt 指定的值大于 CLOB 值的长度+1,则行为是不确定的。一些
JDBC 驱动程序可能抛出 SQLException,而另一些驱动程序可能支持此操作。
参数:
indexToWriteAt - 开始写入此 CLOB 对象中的位置;第一个位置是 1。
返回:
可以将 ASCII 编码字符写入其中的流。
抛出:
SQLException - 如果访问 CLOB 值时发生错误,
或者 indexToWriteAt小于 1。

SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法。

setCharacterStream(long indexToWriteAt)
public Writer setCharacterStream(long indexToWriteAt)
throws SQLException
获取用于将 Unicode 字符流写入此 Clob 对象表示的 CLOB 值中(位置
indexToWriteAt 处)的流。写入流中的字符将从位置 indexToWriteAt 开始重写
Clob 对象中的现有字节。如果在将字符写入流中时到达 Clob 值的末尾,则
将增加 Clob 值的长度,以容纳额外的字符。
说明
如果为 indexToWriteAt 指定的值大于 CLOB 值的长度+1,则行为是不确定的。一些
JDBC 驱动程序可能抛出 SQLException,而另一些驱动程序可能支持此操作。

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1026
参数:
indexToWriteAt - 开始写入 CLOB 值中的位置;第一个位置是 1。
返回:
可将 Unicode 编码字符写入其中的流。
抛出:
SQLException - 如果访问 CLOB 值时发生错误,
或者 indexToWriteAt小于 1。

SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法。

setString(long pos, String str)
public int setString(long pos, String str)
throws SQLException
在位置 pos 处将给定 Java String 写入此 Clob 对象指定的 CLOB 值中。该
字符串将从位置 pos 开始重写 Clob 对象中的现有字节。
如果在写入给定字符
串时到达 Clob 值的末尾,则将增加 Clob 值的长度,以容纳额外的字符。
注:如果为 pos 指定的值大于 CLOB 值的长度+1,则行为是不确定的。一些
JDBC 驱动程序可能抛出 SQLException,而另一些驱动程序可能支持此操作。

参数:
pos - 开始写入此 Clob 对象表示的 CLOB 值的位置;第一个位置是 1。
str - 要写入此 Clob 指定的 CLOB 值中的字符串。
返回:
写入的字符数。
抛出:
SQLException - 如果访问 CLOB 值时发生错误,或者 pos 小于 1。
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法。

setString(long pos, String str, int offset, int len)
public int setString(long pos, String str, int offset, int len)
throws SQLException
将 str 的 len 个字符
(从字符 offset 开始)
写入此 Clob 表示的 CLOB 值中。
该字符串将从位置 pos 开始重写 Clob 对象中的现有字节。
如果在写入给定字
符串时到达 Clob 值的末尾,则将增加 Clob 值的长度,以容纳额外的字符。
注:如果为 pos 指定的值大于 CLOB 值的长度+1,则行为是不确定的。一些
JDBC 驱动程序可能抛出 SQLException,而另一些驱动程序可能支持此操作。

参数:

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1027
pos - 开始写入此 CLOB 对象的位置;第一个位置是 1。
str - 要写入此 Clob 对象表示的 CLOB 值中的字符串。
offset - str 中开始读取要写入字符的偏移量。
len - 要写入的字符数。
返回:
写入的字符数。
抛出:
SQLException - 如果访问 CLOB 值时发生错误,或者 pos 小于 1。
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法。

streamClosed(WatchableOutputStream out)
public void streamClosed(WatchableOutputStream out)
关闭所指定的out 流。

truncate(long length)
public void truncate(long length) throws SQLException
截取此 Clob 指定的 CLOB 值,使其长度为 length 个字符。
参数:
length- CLOB 值应被截取的字符长度。
抛出:
SQLException - 如果访问 CLOB 值时发生错误,或者 len 小于 0。
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法。

writerClosed(WatchableWriter out)
public void writerClosed(WatchableWriter out)
关闭指定out 流。
writerClosed(char[] charDataBeingWritten)
public void writerClosed(char[] charDataBeingWritten)
将指定char[]赋值给该Clob 对象的charData 属性。
com.gbase.jdbc.Clob 示例:参考大对象类型使用小节示例

功能
从集群中删除指定的VC。

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
187
注意

删除虚拟集群前需要先删除vc 下的所有用户库表及其他数据库对
象,删除镜像关系,删除拓扑信息。

删除VC 前需要将gbase 库中对应的表(gbase.consumer_group,
gbase.consumer_group_user,
gbase.resource_plan,
gbase.resource_pool,
gbase.resource_plan_directive,gbase.resource_config,
gbase.cluster_resource_pool_usage_history,gbase.resource_pool_events
等)中该VC 的资源管理信息删除掉,否则将无法删除VC;

gcadmin rmvc 命令一次只能删除一个VC;

如果指定删除的VC 不存在,执行会报错;

删除的VC 中节点都成为集群中的FreeNode,
如果需要从集群中彻底
移除这些节点,可以参考4.3.1.2.2 gcadmin rmnodes 移除节点。
语法
gcadmin rmvc
表4- 21 参数说明
参数名称
说明
vc_name
要删除的vc 名称

创建数据库连接,并通过指定连接参数对连接对象进行初始化。