Форум » [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-файле ? Дайте пример работы посмотреть ! Может для работы тоже пригодится .... Заранее спасибо.

Ответов - 14

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 это не происходит.

rvu: Опять вопрос по Field->FName := MemoRead(cFileName) и MemoWrit(cFileName, Field->FName) А какой максимальный размер символьного поля? Мне казалось, что сейчас он довольно большой может быть, но программы, типа dbu больше чем 41248 делать не хотят. 64 Кбт, вроде должно быть

rvu: В итоге стал в мемо-поля писать.



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