Интерфейс 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(Clob searchstr,
long start) Возвращает позицию символа, в которой указанный объект |
long |
position(String 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 или больше - Возвращает:
- строка, являющаяся указанной подстрокой значения
CLOB, обозначенного этим объектомClob - Исключения:
-
SQLException- если произошла ошибка при доступе к значениюCLOB; если pos меньше 1 или length меньше 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 в этом объекте 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 обрабатываются как бесполезные.
- Исключение:
-
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.