![]() |
|
![]() ![]() ![]() |
|
denism |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.4.2006 Репутация: нет Всего: нет |
Здравствуйте,
я правильно понял, что не смогу поменять в blob поле в определенном месте определенное кол-во байт без прочтения всего поля. Т.е. работать с таким полем как с открытым файлом по записи у меня не получится? |
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
не получится.
![]() -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
denism |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.4.2006 Репутация: нет Всего: нет |
а жаль...
|
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
эти поля и в память то грузятся по необходимости ибо большие они (могут быть) . Хотя могу и ошибаться в логике работы.
![]() -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
denism |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.4.2006 Репутация: нет Всего: нет |
В том-то и дело что у меня они были бы очень большими,
десятки или сотни метров, и читать мне их совсем не нужно, а нужно только писать определенные блоки несколько сотен байт в определенное место. И все. Странно что СУБД-шки этого не позволяют, судя по методам и свойствам BlobStreama это должно было сработать... |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Кто мешает открыть такое поле как Stream? Работа FileStream и FieldStream практически идентична, но боюсь что даже в этом случае читаться будет всё поле. Это так устоены базы данных, в принципе, реляционные базы данных не предназначены для хранения таких больших массивов. Вариант выхода хранить большие поля по кускам.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
vv3 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 29.4.2006 Репутация: нет Всего: нет |
Есть экспансионный вариант - нужные данные хранить в виде файлов, а в базе данных держать поле с полным именем файла. Но тогда будет необходим доступ к ресурсу. Можно положить рядом с базой маленькое приложение, которое будет отслеживать какой-нить Event и работать с нужным файлом. В этом случае можно вообще держать это приложение и редактируемые файлы на совершенно другой машине, в приложении обеспечить связь по сокетам и передавать сокету имя файла и пакет изменений.
|
|||
|
||||
denism |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.4.2006 Репутация: нет Всего: нет |
Дело в том что хотелось совсем уйти от явных файлов, тем более сетевых,
чтобы доступ к данным обрабатывала сама СУБД-шка, группировала бы сама данные и ужимала их. Я согласен что такой подход не вписывается в реляционную модель баз данных, просто если бы СУБД-шки поддерживали такой вырожденный случай, то им был бы плюс. |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
"Старые" базы для мейнфреймов типа IMS именно так и работают -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
А что за данные? Даже в АСУТП такого не встретиш. ИМХО тут концепция хранения неверная. Возможно надо промежуточный блок писать клиент - |LAN| - сервер - база данных - прочие файлы Сервер (написаный тобой) обрабатывает запросы и выдает инфу. Это сообщение отредактировал(а) drkot - 18.5.2006, 16:55 -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |