Как проверить объект BLOB в Oracle - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть BLOB-данные (PDF-файл вложения) в таблице.для нас слишком дорого писать Java / некоторый другой код, чтобы читать BLOB для проверки.
Существует ли какой-либо краткий / простой / менее дорогой способ проверки моего BLOB?Любая команда / ы для чтения метаданных и проверки BLOB?

1 Ответ

0 голосов
/ 21 ноября 2018

Я хотел бы проверить, поврежден ли объект BLOB или нет

Это не то, что вы должны делать в базе данных. BLOB - это двоичный файл, который интерпретируется соответствующим клиентским программным обеспечением (Adobe Reader, MS Word и т. Д.). Что касается базы данных, то это черный ящик. Таким образом, ваше приложение должно проверить файл перед его загрузкой в ​​базу данных.

Однако, есть обходной путь. Вы можете построить индекс Oracle Text CONTEXT на своем столбце BLOB. CONTEXT действительно предназначен для свободного текстового поиска документов, но индексация - это способ доказать, что загруженный файл доступен для чтения.

Проблема с индексами CONTEXT заключается в том, что они не являются транзакционными: обычно выполняется фоновое задание, которое индексирует новые документы, но для этой цели вы, вероятно, захотите вызвать CTX_DDL.SYNC_INDEX() как часть загрузки, чтобы своевременно представить пользователю Обратная связь. Узнайте больше .

Я еще раз повторю, что Text - это обходной путь и дорогой с точки зрения ресурсов базы данных. Сам индекс будет занимать пространство, а процесс индексации требует времени и циклов процессора. Это большие инвестиции, если вы не собираетесь работать с документом в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...