FoxBase!
msgbartop
Блог Oracle разработчика
msgbarbottom
foxbase

17.02.2010 Компрессия LOB (CLOB, BLOB) в Oracle

Часто может возникнуть задача упаковки больших объектов Oracle CLOB, BLOB для их более компактного хранения или для иных целей. При этом может потребоваться считывать упакованные большие объекты CLOB, BLOB в клиентских приложениях на Java. Упаковывать же большие объекты желательно на стороне сервера на PL/SQL. 
Для этих целей существует достаточно известная библиотека, написанная Piotr Jarmuz, которая и позволит нам выполнять все эти функции. Эта библиотека часто упоминается в сети, упоминает о ней и Том Кайт
Вашему вниманию предлагается работоспособная версия этой библиотеки, которая поддерживает юникод UTF8. Доработка для поддержки юникода была взята с форума на sql.ru и скомпонована с основной версией библиотеки, отлажена и используется в реальных проектах.
Здесь можно скачать Java класс LobCompressor.java, предназначенный для загрузки в базу данных Oracle.
Здесь можно скачать PL/SQL библиотеку Compressor.sql - обертку для вызова класса LobCompressor.
Для использования этой библиотеки необходимо посредством SQL*Plus загрузить в базу данных LobCompressor.java, затем пакет Compressor.sql
Использование библиотеки заключается в вызове следующих PL/SQL функций из пакета Compressor:

FUNCTION clob_compress(p_clob clob) RETURN blob;
FUNCTION clob_decompress(p_blob blob) RETURN clob;
FUNCTION blob_compress(p_blob blob) RETURN blob;
FUNCTION blob_decompress(p_blob blob) RETURN blob;
На стороне клиента можно без изменений использовать класс из файла LobCompressor.java 

www.foxbase.ru




Смотрите также:



Оставьте свой комментарий

Вы должны быть авторизированны, чтобы оставить комментарий.