Форум » [x]Harbour » Работа с полями BLOB, PICTURE and OLE ? » Ответить

Работа с полями BLOB, PICTURE and OLE ?

Andrey: Всем привет! Прочитал в теме LetoDB, что есть такие типы полей: HB_FT_BLOB, HB_FT_PICTURE and HB_FT_OLE field types Ну про BLOB слышал, но не пользовался... А что другие из себя представляют ? И это ВСЕ можно хранить в DBF-файле ? Дайте пример работы посмотреть ! Может для работы тоже пригодится .... Заранее спасибо.

Ответов - 12

Pasha: Это дополнительные типы данных dbase 4+ и vfp. Что касается харбора, в таких полях можно хранить двоичные данные. Специальных средств обработки этиъ данных в харборе нет Кстати, надо в leto для этих полей убрать конвертацию по кодовым страницам

Andrey: Clipper 5.3 мог работать с BLOB ! А хХарбор и Харбор может ? Если есть примеры, то дайте пожалуйста посмотреть ...

Pasha: Харбор не поддерживает функции blob* Harbour dbfcdx поддерживает функции dbFileGet/dbFilePut letodb их не поддерживает Эти средства легко заменяются конструкциями вида: Field->FName := MemoRead(cFileName) и MemoWrit(cFileName, Field->FName)


AlexMyr: Andrey пишет: А хХарбор и Харбор может ? Если есть примеры, то дайте пожалуйста посмотреть ... В теме по letodb я привел пример работы с blob полем, делал под harbour, все работает. Или какой пример нужно?

Andrey: AlexMyr пишет: Или какой пример нужно? Какие есть, все давайте... Будет с чем разбираться....

rvu: Извините, что такую старую тему вытащил. Pasha пишет: Эти средства легко заменяются конструкциями вида: Field->FName := MemoRead(cFileName) и MemoWrit(cFileName, Field->FName) Подумываю, не положить ли рисунки в базу. Сейчас, как я понимаю, работа с blob всё же есть. Что сейчас лучше: искать как с ним работать или записывать как выше предложено? Интересует в основном скорость работы с базой.

Haz: rvu пишет: Интересует в основном скорость работы с базой. Использую блобы в ADS для сканов документов, на скорость не влияет

Sergy: Тоже сначала думал положить картинки товара в memo/blob. Но потом решил не рисковать и прихожу к выводу, что правильно сделал: сегодня в базе находится более 37000 изображений товара общим размером около 18 гигов. Чет ссыкотно складывать столько яиц в одну корзину... Да и инкрементальный бэкап у сисадмина гораздо легче проходит. Пока думаю, как грамотнее разместить защищенное хранилище документов с контролем версий и мониторингом изменений. Задолбал бардак с файлами реквизитов, шаблонами договоров, сканами документов и тп. Кто изменил - никто не признается и где что лежит - тоже непонятно... Вижу пока два пути: blob/memo поле или файловые функции LetoDBf в полностью закрытом от любого сетевого доступа каталоге. Буду признателен, если кто-то поделится опытом в данном вопросе. Тема вроде подходящая.

Dima: Sergy Картинки держу просто в файлах и ни каких memo/blob

Haz: Я держу в блобах и тоже посещают мысли о том, что все в одном месте хранить рискованно. Но и на диске кучей файлов риск не меньший. По мне в блобах все же удобнее, легче организация версионности, контроля доступа и пр. Инкрементальный бекап меня не беспокоит, в ads свой механизм. Тема так же интересна, кто как делает

rvu: А вот blob против Field->FName := MemoRead(cFileName) - MemoWrit(cFileName, Field->FName) ? Мне-то пока вариант с MemoRead понравился, но может blob лучше? И если да, то чем?

Pasha: Если кодовая страница программы будет отличаться от кодовой страницы рабочей области, то включится механизм перекодировки между кодовыми страницами, что испортит содержимое картинки. Для полей blob это не происходит.



полная версия страницы