Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.27;
Скачать: CL | DM;

Вниз

Структурированные хранилища   Найти похожие ветки 

 
Ермак ©   (2005-02-13 22:27) [0]

Народ, знаю, что в COM стандартизированы интерфейсы структурированных хранилищ. Вроде как в Виндоус есть их стандартная реализация.
1) Как до нее добраться?
2) Мне нужны хранилища с поддержкой транзакций. В старой книжке по COM (1997 год) читал, что в стандартных Виндовских они не реализованы. Изменилось ли что-либо на сегодняшний день? Можно ли достать где-то бесплатную реализацию таких хранилищ?


 
Cobalt ©   (2005-02-14 08:41) [1]

Насчёт 2-го пункта - чем не устраивают БД?


 
Набережных С. ©   (2005-02-14 10:30) [2]


> Ермак ©   (13.02.05 22:27)

В MSDN - StgCreateStorageEx и все вокруг нее. Там и про транзакции есть.


 
Ермак ©   (2005-02-14 15:57) [3]

2Cobalt:

Именно что не устраивают. Стоит задача создания своей СУБД, правда, не реляционной (на фиг еще одна реляционная нужна?). Сначала думали свои зранилища разрабатывать, с транзакциями, журналированием, восстановлением. Потом было принято решение использовать как основу для всей архитектуры технологию COM. Прочитал про объектные хранилища, подумал - если уже что-то есть - так на фиг изобретать велосипед?


 
Владислав ©   (2005-02-14 16:02) [4]

Боюсь, что велосипед изобрести придется.
А если Вы невнимательно перечитаете возможные режимы работы с storages и streams, то, впоследсвии, наступите на великолепные грабли. :) Я по ним уже прошелся :о)


 
Ермак ©   (2005-02-14 16:11) [5]

2Владислав:

Спасибо за предупреждение! А что за грабли такие?


 
Владислав ©   (2005-02-14 17:14) [6]

Например, я невнимательно прочитал хелп про это:

IStorage::OpenStorage

В частности, параметр:

"grfMode
[in] Specifies the access mode to use when opening the storage object. For descriptions of the possible values, see the STGM enumeration. Whatever other modes you may choose, you must at least specify STGM_SHARE_EXCLUSIVE when calling this method."

Что такое STGM_SHARE_EXCLUSIVE, думаю, ясно из названия, а это совсем не то, на что я расчитывал изначально :(


 
VMcL ©   (2005-02-15 07:54) [7]

>>Владислав ©   (14.02.05 17:14) [6]

У меня такая комбинация работает:
STGM_READ or STGM_SHARE_DENY_WRITE or STGM_DIRECT для StgOpenStorage.

А вот IStorage.OpenStream и IStorage.OpenStorage не "захотели" работать без STGM_SHARE_EXCLUSIVE.

Кстати, ещё одни известные мне грабли у структурированных хранилищ следующие: есть некое ограничение на количество объектов в одном хранилище в Win9x.


 
Владислав ©   (2005-02-15 10:35) [8]

>> VMcL ©   (15.02.05 07:54) [7]

"У меня такая комбинация работает:
STGM_READ or STGM_SHARE_DENY_WRITE or STGM_DIRECT для StgOpenStorage."


Все верно, но это работает лишь для корневых хранилищ.

"Кстати, ещё одни известные мне грабли у структурированных хранилищ следующие: есть некое ограничение на количество объектов в одном хранилище в Win9x."

Это ограничение документировано? Можно где то найти это ограничение?



Страницы: 1 вся ветка

Текущий архив: 2005.11.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.071 c
1-1130906088
GidraXP
2005-11-02 07:34
2005.11.27
Безопасность информации


2-1131379656
makxi
2005-11-07 19:07
2005.11.27
Информацыя про комп


9-1121586869
Conferno
2005-07-17 11:54
2005.11.27
Пример с ZShadows (GLScene)


11-1112327970
DmiSb
2005-04-01 07:59
2005.11.27
Не получается в DLL, собранную на VCL, передать PStream.


6-1124018204
NikNet
2005-08-14 15:16
2005.11.27
Как сделать CHAT к внешнему WEB-Чату?