Интерфейс Clob
- Все известные подинтерфейсы:
NClob
- Все известные реализующие классы:
SerialClob
public interface Clob
Картирование в языке программирования Java™ для типа SQL 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() | Этот метод освобождает ресурсы, которые удерживает объект |
InputStream | getAsciiStream() | Возвращает значение |
Reader | getCharacterStream() | Возвращает значение |
Reader | getCharacterStream(long pos,
long length) | Возвращает объект |
String | getSubString(long pos,
int length) | Возвращает копию указанной подстроки в значении |
long | length() | Возвращает количество символов в значении |
long | position(String searchstr,
long start) | Возвращает позицию символа, на которой указанная подстрока |
long | position(Clob searchstr,
long start) | Возвращает позицию символа, на которой указанный объект |
OutputStream | setAsciiStream(long pos) | Возвращает поток, который будет использоваться для записи символов Ascii в значение |
Writer | setCharacterStream(long pos) | Возвращает поток, который будет использоваться для записи потока символов Unicode в значение |
int | setString(long pos,
String str) | Записывает заданный Java |
int | setString(long pos,
String str,
int offset,
int len) | Записывает |
void | truncate(long 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
- См. также:
setCharacterStream(long)
getAsciiStream
InputStream getAsciiStream()
throws SQLException Возвращает значение CLOB, обозначенное этим объектом Clob, как поток ASCII.
- Возвращает:
- объект
java.io.InputStream, содержащий данныеCLOB - Исключения:
-
SQLException- если при доступе к значениюCLOBвозникла ошибка -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор:
- 1.2
- См. также:
setAsciiStream(long)
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 Записывает заданную строку Java 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 Получает поток для записи символов ASCII в значение CLOB, которое представляет этот объект Clob, начиная с позиции pos. Символы, записанные в поток, перезапишут существующие символы в объекте Clob , начиная с позиции pos. Если при записи символов в поток достигается конец значения Clob, тогда длина значения Clob будет увеличена для размещения дополнительных символов.
Примечание: Если значение, указанное для pos, больше длины +1 значения CLOB, то поведение не определено. Некоторые драйверы JDBC могут выбросить SQLException , в то время как другие драйверы могут поддерживать эту операцию.
- Параметры:
-
pos- позиция, с которой начать запись в этот объектCLOB; первая позиция - 1 - Возвращает:
- поток, в который можно записывать символы в кодировке ASCII
- Исключения:
-
SQLException- если при доступе к значениюCLOBвозникла ошибка или если pos меньше 1 -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор:
- 1.4
- См. также:
getAsciiStream()
setCharacterStream
Writer setCharacterStream(long pos)
throws SQLException Получает поток для записи потока символов Unicode в значение CLOB, которое представляет этот объект Clob, по позиции pos. Символы, записанные в поток, перезапишут существующие символы в объекте Clob , начиная с позиции pos. Если при записи символов в поток достигается конец значения Clob, тогда длина значения Clob будет увеличена для размещения дополнительных символов.
Примечание: Если значение, указанное для pos, больше длины +1 значения CLOB, то поведение не определено. Некоторые драйверы JDBC могут выбросить SQLException , в то время как другие драйверы могут поддерживать эту операцию.
- Параметры:
-
pos- позиция, с которой начать запись в значениеCLOB; первая позиция - 1 - Возвращает:
- поток, в который можно записывать символы Unicode
- Исключения:
-
SQLException- если при доступе к значениюCLOBвозникла ошибка или если pos меньше 1 -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор:
- 1.4
- См. также:
getCharacterStream()
truncate
void truncate(long len)
throws SQLException Усекает значение CLOB, которое обозначается этим Clob, до длины в len символов.
Примечание: Если указанное значение для pos больше, чем длина + 1 значения CLOB, то поведение неопределённо. Некоторые драйверы JDBC могут выбросить SQLException, в то время как другие драйверы могут поддерживать эту операцию.
- Параметры:
-
len- длина в символах, до которой должно быть усечено значениеCLOB - Исключения:
-
SQLException- если произошла ошибка при доступе к значениюCLOBили если len меньше 0 -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С тех пор:
- 1.4
free
void free() throws SQLException
Этот метод освобождает ресурсы, удерживаемые объектом Clob. Объект становится недействительным после вызова метода free.
После вызова free, любая попытка вызвать метод, отличный от free, приведёт к выбросу SQLException. Если free вызывается несколько раз, последующие вызовы free обрабатываются как no-op.
- Исключения:
-
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, 2020, 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/11/docs/api/java.sql/java/sql/Clob.html