Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > Запись в Blob'ы |
Автор: denism 17.5.2006, 08:07 |
Здравствуйте, я правильно понял, что не смогу поменять в blob поле в определенном месте определенное кол-во байт без прочтения всего поля. Т.е. работать с таким полем как с открытым файлом по записи у меня не получится? |
Автор: drkot 17.5.2006, 10:51 |
не получится. ![]() |
Автор: denism 17.5.2006, 13:44 |
а жаль... |
Автор: drkot 17.5.2006, 14:19 |
эти поля и в память то грузятся по необходимости ибо большие они (могут быть) . Хотя могу и ошибаться в логике работы. ![]() |
Автор: denism 17.5.2006, 14:55 |
В том-то и дело что у меня они были бы очень большими, десятки или сотни метров, и читать мне их совсем не нужно, а нужно только писать определенные блоки несколько сотен байт в определенное место. И все. Странно что СУБД-шки этого не позволяют, судя по методам и свойствам BlobStreama это должно было сработать... |
Автор: Vit 17.5.2006, 15:43 |
Кто мешает открыть такое поле как Stream? Работа FileStream и FieldStream практически идентична, но боюсь что даже в этом случае читаться будет всё поле. Это так устоены базы данных, в принципе, реляционные базы данных не предназначены для хранения таких больших массивов. Вариант выхода хранить большие поля по кускам. |
Автор: vv3 17.5.2006, 21:40 |
Есть экспансионный вариант - нужные данные хранить в виде файлов, а в базе данных держать поле с полным именем файла. Но тогда будет необходим доступ к ресурсу. Можно положить рядом с базой маленькое приложение, которое будет отслеживать какой-нить Event и работать с нужным файлом. В этом случае можно вообще держать это приложение и редактируемые файлы на совершенно другой машине, в приложении обеспечить связь по сокетам и передавать сокету имя файла и пакет изменений. |
Автор: denism 18.5.2006, 08:14 |
Дело в том что хотелось совсем уйти от явных файлов, тем более сетевых, чтобы доступ к данным обрабатывала сама СУБД-шка, группировала бы сама данные и ужимала их. Я согласен что такой подход не вписывается в реляционную модель баз данных, просто если бы СУБД-шки поддерживали такой вырожденный случай, то им был бы плюс. |
Автор: drkot 18.5.2006, 16:51 | ||
А что за данные? Даже в АСУТП такого не встретиш. ИМХО тут концепция хранения неверная. Возможно надо промежуточный блок писать клиент - |LAN| - сервер - база данных - прочие файлы Сервер (написаный тобой) обрабатывает запросы и выдает инфу. |