Форум » [x]Harbour » упаковка и сохранение строк в БД » Ответить

упаковка и сохранение строк в БД

MIKHAIL: Есть ли функции упаковки/сжатия строк в формате пригодном для сохранении в БД ?

Ответов - 2

Andrey: MIKHAIL пишет: Есть ли функции упаковки/сжатия строк в формате пригодном для сохранении в БД ? Использую упаковку файла (формы отчёта) для хранения в мемо-поле: [pre2] cBuff := HB_MemoRead(cFile) cPackBuff := ZipCompress( cBuff ) // HB_Compress() cBuff64 := HB_Base64Encode( cPackBuff, LEN(cPackBuff) ) DBPRN->FMEMO := cBuff64 [/pre2] Имя формы храню в текстовом поле, при обратном преобразовании/распаковки восстанавливаю имя файла: [pre2] cBuff64 := DBPRN->FMEMO cPackBuff := HB_Base64Decode( cBuff64 ) cBuff := ZipUncompress( cPackBuff ) // HB_Uncompress() HB_MemoWrit( PATH_TEST + cFile, cBuff )[/pre2] Без HB_Base64Encode/HB_Base64Decode есть вероятность наткнутся на спецсимвол который используется в работе драйвера базы и запись/чтение будет с ошибками. Хотя если используешь CDX можно воспользоваться BLOB-полем: [pre2] AADD( aDbf , {"FMEMO" ,"W", 10,0 } ) // BLOB-поле [/pre2]

MIKHAIL: Andrey Спасибо, пробну



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