powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как прочитать OLE-объект, хранящийся в LongBinary?
5 сообщений из 5, страница 1 из 1
Как прочитать OLE-объект, хранящийся в LongBinary?
    #32637082
Yuri Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем хорошего дня!

Дано: ASA 8, в таблице содержится поле типа LongBinary, которое может содержать в себе таблицу Excel, документ Word или PDF-ник, картинку и пр. Коллеги, если кто в курсе, подскажите плиз, есть ли какая-нибудь возможность понять по первым байтам этого поля (читай, по заголовку файла), какой документ (OLE-объект) в нем хранится?

Заранее спасибо!
Юрий.
...
Рейтинг: 0 / 0
Как прочитать OLE-объект, хранящийся в LongBinary?
    #32637483
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuri TyurinДано: ASA 8, в таблице содержится поле типа LongBinary, которое может содержать в себе таблицу Excel, документ Word или PDF-ник, картинку и пр. Коллеги, если кто в курсе, подскажите плиз, есть ли какая-нибудь возможность понять по первым байтам этого поля (читай, по заголовку файла), какой документ (OLE-объект) в нем хранится?


Ну конечно есть. Вообще-то, проще всего завести в таблице дополнительное поле в которое и записывать тип данных внутри блоба.
А если хочется более сложного пути, то можно воспользоваться функцией substr. Она прекрасно работает не только на строки, но и на все типы блобов. Делаешь например:

declare SomePattern char(5);
select substr(MyBlob, 7, 4) into SomePattern where pk='aaa';
if SomePattern='JFIF' then
select 'it is JPEG file';
end if;
...
Рейтинг: 0 / 0
Как прочитать OLE-объект, хранящийся в LongBinary?
    #32638761
Yuri Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо! :) Придется идти по трудному пути, т. к. работаем с уже готовой базой, ее заполнением занимается приложение, влезть в которое никакой возможности...

Вы не подскажете, где еще в инете можно поподробнее почитать на эту тему?

Юрий.
...
Рейтинг: 0 / 0
Как прочитать OLE-объект, хранящийся в LongBinary?
    #32639184
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что там подробнее читать-то? В substr описана в BOL, ну там сложно ошибиться :) А если хочется набрать библиотеку сигнатур чтобы побольше форматов узнавать... могу ткнуть в утилиту file из любого *никс. У ФАРовского MultiArc можно подсмотреть сигнатуры разных архивов. В конце концов берешь любой хекс-просмотрщик и вперед, выискивать сигнатуры самостоятельно.
Вот с OLE-объектами чуть посложнее будет, но тоже можно - вытянуть из блоба код объекта, попытаться его запустить. Запустился? Ну тогда оно само расскажет про себя :)
...
Рейтинг: 0 / 0
Как прочитать OLE-объект, хранящийся в LongBinary?
    #32644612
Yuri Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlВот с OLE-объектами чуть посложнее будет, но тоже можно - вытянуть из блоба код объекта, попытаться его запустить. Запустился? Ну тогда оно само расскажет про себя :)

Спасибо! :) Поподробнее - я имел в виду про то, как объект OLE размещается в поле Long Binary. Все, что удалось нарыть в инете - это то, что собственно сам файл начинается с 79 байта, а раньше идет всякий служебный мусор.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как прочитать OLE-объект, хранящийся в LongBinary?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]