Интерфейс Clob
- Все известные подинтерфейсы:
NClob
- Все известные реализующие классы:
SerialClob
public interface Clob
CLOB типа. SQL CLOB - это встроенный тип, который хранит объект большого размера символьного типа как значение столбца в строке таблицы базы данных. По умолчанию драйверы реализуют объект Clob с помощью SQL locator(CLOB), что означает, что объект Clob содержит логическую ссылку на данные SQL CLOB, а не сами данные. Объект Clob действителен в течение транзакции, в которой он был создан. Интерфейс Clob предоставляет методы для получения длины значения SQL CLOB (объекта большого размера символьного типа), для материализации значения CLOB на клиенте и для поиска подстроки или объекта CLOB внутри значения CLOB. Методы в интерфейсах ResultSet, CallableStatement и PreparedStatement, такие как getClob и setClob, позволяют программисту получить доступ к значению SQL CLOB. Кроме того, этот интерфейс имеет методы для обновления значения CLOB.
Все методы интерфейса Clob должны быть полностью реализованы, если JDBC-драйвер поддерживает тип данных.
- С:
- 1.2
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
free() |
Этот метод освобождает ресурсы, которые удерживает объект Clob. |
InputStream |
getAsciiStream() |
Получает значение CLOB, обозначенное этим объектом Clob в виде потока ascii. |
Reader |
getCharacterStream() |
Получает значение CLOB, обозначенное этим объектом Clob в виде объекта java.io.Reader (или в виде потока символов). |
Reader |
getCharacterStream |
Возвращает объект Reader, содержащий частичное значение Clob, начиная с символа, указанного в pos, длиной length символов. |
String |
getSubString |
Получает копию указанной подстроки в значении CLOB, обозначенном этим объектом Clob. |
long |
length() |
Получает количество символов в значении CLOB , обозначенном этим объектом Clob. |
long |
position |
Получает позицию символа, на которой указанная подстрока searchstr появляется в значении SQL CLOB , представленном этим объектом Clob. |
long |
position |
Получает позицию символа, на которой указанный объект Clob searchstr появляется в этом объекте Clob. |
OutputStream |
setAsciiStream |
Получает поток, используемый для записи символов Ascii в значение CLOB , представленное этим объектом Clob , начиная с позиции pos. |
Writer |
setCharacterStream |
Получает поток, используемый для записи потока символов Unicode в значение CLOB , представленное этим объектом Clob , по позиции pos. |
int |
setString |
Записывает данный Java String в значение CLOB , которое обозначает этот объект Clob , по позиции pos. |
int |
setString |
Записывает len символов str, начиная с символа offset, в значение CLOB , которое представляет этот объект Clob. |
void |
truncate |
Усекает значение CLOB , которое обозначает этот объект Clob , до длины len символов. |
Подробное описание методов
length
long length() throws SQLException
CLOB, указанном этим объектом Clob. - Возвращает:
- длина
CLOBв символах - Исключения:
-
SQLException- если при доступе к длине значенияCLOBпроизошла ошибка -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор как:
- 1.2
getSubString
String getSubString(long pos, int length) throws SQLException
CLOB, обозначенном этим объектом Clob. Подстрока начинается с позиции pos и имеет до length последовательных символов.- Параметры:
-
pos- первый символ подстроки, подлежащей извлечению. Первый символ находится на позиции 1. -
length- количество последовательных символов, которые нужно скопировать; значение для длины должно быть 0 или больше - Возвращает:
- подстроку в значении
Stringв значенииCLOB, указанном этим объектомClob - Исключения:
-
SQLException- если при доступе к значениюCLOBпроизошла ошибка; если pos меньше 1 или длина меньше 0 -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор как:
- 1.2
getCharacterStream
Reader getCharacterStream() throws SQLException
CLOB, обозначенное этим объектом Clob, как объект java.io.Reader (или как поток символов).- Возвращает:
- объект
java.io.Reader, содержащий данныеCLOB - Исключения:
-
SQLException- если при доступе к значениюCLOBпроизошла ошибка -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор как:
- 1.2
- См. также:
getAsciiStream
InputStream getAsciiStream() throws SQLException
CLOB, обозначенное этим объектом Clob, как поток ascii.- Возвращает:
- объект
java.io.InputStream, содержащий данныеCLOB - Исключения:
-
SQLException- если при доступе к значениюCLOBпроизошла ошибка -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор как:
- 1.2
- См. также:
position
long position(String searchstr, long start) throws SQLException
searchstr появляется в значении SQL CLOB, представленном этим объектом Clob. Поиск начинается с позиции start. - Параметры:
-
searchstr- подстрока, для которой нужно выполнить поиск -
start- позиция, с которой следует начать поиск; первая позиция равна 1 - Возвращает:
- позиция, в которой появляется подстрока, или -1, если ее нет; первая позиция равна 1
- Исключения:
-
SQLException- если при доступе к значениюCLOBпроизошла ошибка или если pos меньше 1 -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор как:
- 1.2
position
long position(Clob searchstr, long start) throws SQLException
Clob searchstr появляется в этом объекте Clob. Поиск начинается с позиции start. - Параметры:
-
searchstr- объектClobдля поиска -
start- позиция, с которой следует начать поиск; первая позиция равна 1 - Возвращает:
- позиция, в которой появляется объект
Clob, или -1, если его нет; первая позиция равна 1 - Исключения:
-
SQLException- если при доступе к значениюCLOBпроизошла ошибка или если start меньше 1 -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор как:
- 1.2
setString
int setString(long pos, String str) throws SQLException
String в значение CLOB, которое обозначает этот объект Clob, на позиции pos. Строка перезапишет существующие символы в объекте Clob начиная с позиции pos. Если при записи заданной строки достигается конец значения Clob, тогда длина значения Clob будет увеличена, чтобы вместить дополнительные символы. Примечание: Если значение, указанное для pos, больше, чем длина + 1 значения CLOB, тогда поведение не определено. Некоторые драйверы JDBC могут генерировать исключение SQLException, в то время как другие драйверы могут поддерживать эту операцию.
- Параметры:
-
pos- позиция, с которой начать запись в значениеCLOB, которое представляет этот объектClob; первая позиция равна 1. -
str- строка, подлежащая записи в значениеCLOB, которое обозначает этот объектClob - Возвращает:
- количество записанных символов
- Исключения:
-
SQLException- если при доступе к значениюCLOBпроизошла ошибка или если pos меньше 1 -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор как:
- 1.4
setString
int setString(long pos, String str, int offset, int len) throws SQLException
len символов str, начиная с символа offset, в значение CLOB, которое представляет этот объект Clob. Строка перезапишет существующие символы в объекте Clob начиная с позиции pos. Если при записи заданной строки достигается конец значения Clob, тогда длина значения Clob будет увеличена, чтобы вместить дополнительные символы. Примечание: Если значение, указанное для pos, больше, чем длина + 1 значения CLOB, тогда поведение не определено. Некоторые драйверы JDBC могут генерировать исключение SQLException, в то время как другие драйверы могут поддерживать эту операцию.
- Параметры:
-
pos- позиция, с которой начать запись в этот объектCLOB; Первая позиция равна 1 -
str- строка, подлежащая записи в значениеCLOB, которое представляет этот объектClob -
offset- смещение вstrдля начала чтения символов, подлежащих записи -
len- количество символов, подлежащих записи - Возвращает:
- количество записанных символов
- Исключения:
-
SQLException- если при доступе к значениюCLOBпроизошла ошибка или если pos меньше 1 -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор как:
- 1.4
setAsciiStream
OutputStream setAsciiStream(long pos) throws SQLException
CLOB, которое обозначает этот объект Clob, начиная с позиции pos. Символы, записанные в поток, перезапишут существующие символы в объекте Clob начиная с позиции pos. Если при записи символов в поток достигается конец значения Clob, тогда длина значения Clob будет увеличена, чтобы вместить дополнительные символы. Примечание: Если значение, указанное для pos, больше, чем длина + 1 значения CLOB, тогда поведение не определено. Некоторые драйверы JDBC могут генерировать исключение SQLException, в то время как другие драйверы могут поддерживать эту операцию.
- Параметры:
-
pos- позиция, с которой начать запись в этот объектCLOB; Первая позиция равна 1 - Возвращает:
- поток, в который можно записывать символы ASCII
- Исключения:
-
SQLException- если при доступе к значениюCLOBпроизошла ошибка или если pos меньше 1 -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор как:
- 1.4
- См. также:
setCharacterStream
Writer setCharacterStream(long pos) throws SQLException
CLOB, которое обозначает этот объект Clob, на позиции pos. Символы, записанные в поток, перезапишут существующие символы в объекте Clob начиная с позиции pos. Если при записи символов в поток достигается конец значения Clob, тогда длина значения Clob будет увеличена, чтобы вместить дополнительные символы. Примечание: Если значение, указанное для pos, больше, чем длина + 1 значения CLOB, тогда поведение не определено. Некоторые драйверы JDBC могут генерировать исключение SQLException, в то время как другие драйверы могут поддерживать эту операцию.
- Параметры:
-
pos- позиция, с которой начать запись в значениеCLOB; Первая позиция равна 1 - Возвращает:
- поток, в который можно записывать символы Unicode
- Исключения:
-
SQLException- если при доступе к значениюCLOBпроизошла ошибка или если pos меньше 1 -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор как:
- 1.4
- См. также:
truncate
void truncate(long len) throws SQLException
len символов. Примечание: Если заданное значение для pos больше, чем длина значения CLOB + 1, поведение неопределённо. Некоторые драйверы JDBC могут выбросить SQLException, в то время как другие драйверы могут поддерживать эту операцию.
- Параметры:
-
len- длина в символах, до которой должно быть усечено значениеCLOB - Исключения:
-
SQLException- если произошла ошибка доступа к значениюCLOBили если len меньше 0 -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С:
- 1.4
free
void free() throws SQLException
Clob. Объект становится недействительным после вызова метода free. После вызова free, любая попытка вызвать метод, отличный от free, приведёт к выбросу SQLException. Если free вызывается несколько раз, последующие вызовы free обрабатываются как операция без действия.
- Исключения:
-
SQLException- если произошла ошибка при освобождении ресурсов Clob -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С:
- 1.6
getCharacterStream
Reader getCharacterStream(long pos, long length) throws SQLException
Reader, содержащий частичное значение Clob, начиная с символа, указанного pos, и имеющий длину length символов.- Параметры:
-
pos- смещение до первого символа частичного значения, подлежащего извлечению. Первый символ в Clob находится в позиции 1. -
length- длина в символах частичного значения, подлежащего извлечению. - Возвращает:
-
Readerобъект, через который можно читать частичное значениеClob - Исключения:
-
SQLException- если pos меньше 1; или если pos больше числа символов вClob; или если pos + length больше числа символов вClob; -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С:
- 1.6
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/Clob.html