Как, имея BLOB, узнать расширение файла, находящегося в этом блобе?

odrie
Дата: 22.09.2004 15:38:45
Как, имея BLOB, узнать расширение файла, находящегося в этом блобе?
Вот, собсстно, вопрос...
Извлекать как понятно, допустим, так:
SYS.utl_binfile.save_blob_to_file(l_blob, 'c:\temp\test.doc');

Но как я узнать что там .doc или еще что-то.

Вопрос не праздный и срочный.
Спасибо!
softwarer
Дата: 22.09.2004 15:45:19
odrie
Как, имея BLOB, узнать расширение файла, находящегося в этом блобе?

А кто сказал, что в этом блобе находится файл?
odrie
Дата: 22.09.2004 15:56:11
В общем случае - двоичные данные.
Может быть и не файл.
Но мне нужно извлечь эти данные в виде файла (doc, xls, jpg или еще какой),
вот применяю я пакет utl_file , там надо указать файл с расширением, а я не знаю заранее, какое для конкретного блоба взять расширение...
Вопрос понятен?

Может, я сама чего-то недопонимаю, объясните плс, кто с Блобами работал?
ArielSh
Дата: 22.09.2004 16:04:57
BLOB можно рассматривать как массив байт. Нет у него никаких "расширений". Сохраняйте тип файла в отдельной колонке в таблице.
odrie
Дата: 22.09.2004 16:12:08
В таблице такая колонка не предусмотрена. И переделать её структуру не представляется возможным. Такое условие задачи.
Можно сказать, что это что-то вроде почтовой программы. Клиент прикрепил аттач.
Я на сервере его получаю, и мне надо его извлечь в удобочитаемом виде.
Как это сделать?
Если не средствами Oracle, пусть так.
Просто хоть какой-то реально работающий пример, чтобы разобраться...
Barkovsky
Дата: 22.09.2004 16:12:28
to odrie

надо спросить у того, кто ставил задачу в каком формате хранятся данные.

или может быть, в соседних столбцах хранится имя файла (приличные люди так делают).
odrie
Дата: 22.09.2004 16:21:39
Barkovsky
to odrie

надо спросить у того, кто ставил задачу в каком формате хранятся данные.

или может быть, в соседних столбцах хранится имя файла (приличные люди так делают).


Тот кто ставил задачу, этого точно не знает :)
Столбца с именем тоже нет.

Аттач прикрепляется через приложение, которое работает через ODBC и написано на DELPHi.

Есть, в принципе, инструмент извлечения файла с помощью библиотеки.
Но мне нужно, чтобы как только файлы пришли, автоматом откреплялись и заливались в некий каталог.
Думала реализовать это триггером.
И вот теперь в тупике из-за формата...
А может, есть возможность как-то привинтить вызов дельфийной процедуры из триггера? Хотя...сомневаюсь я что это будет красиво...
Barkovsky
Дата: 22.09.2004 16:27:00
он должен быть.
эти же файлы потом как-то используются?
или они просто ЛЕЖАТ в базе И ВСЕ?:)
и перед теми, кто их использует - стоит точно такая же задача- "узнать расширение".
вот и спросите у них - как они узнают расширения файла из блоба:)
Barkovsky
Дата: 22.09.2004 16:28:32
odrie
инструмент извлечения файла с помощью библиотеки.

надо ее расковырять:)
odrie
Дата: 22.09.2004 16:48:56
Barkovsky
он должен быть.
эти же файлы потом как-то используются?
или они просто ЛЕЖАТ в базе И ВСЕ?:)
и перед теми, кто их использует - стоит точно такая же задача- "узнать расширение".
вот и спросите у них - как они узнают расширения файла из блоба:)


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

Вот чисто гипотетически, получается, что нет решения в данной ситуации?
Не может быть!