|
|
|
Клиент-серверные технологии.
|
|||
|---|---|---|---|
|
#18+
Ну как к ним мне было подступиться с использованием только Access? Пришлось заняться с теорией VB. Попутный вопрос и к VBA. Создаем новую базу из VBA, формат вновь созданной базы определяется установкой значения списка из окна Access, Настройка, «формат новой базы по умолчанию 2000 или 2002», тут все ОК. Создаем базу из VB (у меня 6.0) формат всегда 97. Ладно, буду из VBA. При попытке соединения с базой версией более поздней, чем 97, из VB выскакивает ошибка: «Нераспознаваемый Формат Базы Данных»! Ладненько! Из VBA проблем нет. Но попробуйте-ка присоединить таблицу и определить столбцы, казалось бы, из встроенного и в доску родного с Office XP VBA!- «Нераспознаваемый Формат Базы Данных»! Может, кто объяснит, в чем дело? Это первая преграда к тому, о чем речь ниже. Правда, ничто не мешает мне отрабатывать приемы на старом (97) формате. ТЕОРИТИЧЕСКИ и кое- что практически. В режиме многопользовательского доступа к базе данных, последняя работает как OLE Automation сервер. И мне бы не хотелось запускать и включать интерфейс Access на сервере. Пусть задача будет фоновой, а оперативки побольше. В папку загрузки Автозагрузка на сервере вставляется ярлык на маленькую *.exe VB, которая после остается в трее, и никому не мешает. Программка, допустим, назовем ее- Quick Detect связана с табличкой из базы данных. В загрузочном модуле программы установлен таймер, который, к примеру, несколько раз в секунду просматривает записи. Табличка наша пусть будет такой: одно поле в котором появляется имя клиента, второе поле в котором клиент записывает какое- то число. Допустим, появилась 2, значит, Quick Detect запустит запрос на сервере (построитель SQL в VB не менее развит), результаты сохранит в связанную таблицу, из которой клиент чего- то там и прочтет. Это одно. Однако, связанная таблица находится в базе а ее источник на клиенте, т.е. на клиенте она локальная, на сервере как связанная, таким образом можно исключить рассылку результатов запроса клиентам, которые не нуждаются в результате и не инициировали данную транзакцию. На эту программку можно возложить и операцию, допустим периодического теневого копирования самой базы для резерва, очистки и переноса журнала транзакций (а он растет очень быстро), да все что угодно. В моем тестовом варианте эта программка постоянно обновляет текущее время на серверной базе данных в таблице, из поля которой клиенты получают время сервера и синхронизируются при заполнении серверного журнала транзакций. Пожалуйста, высказываетесь, много других дел, но подключюсь позднее обязательно! PS Есть кое- что и о распределенных системах (приближении к ним), но об этом в другой раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 10:38 |
|
||
|
Клиент-серверные технологии.
|
|||
|---|---|---|---|
|
#18+
;) Ну клиент - сервер, конечно надо делать не так! По таймеру это будет отнимать кучу ресурсов.У меня даже этот вариант просто вставал и вешал сервер! Я тоже начал в начале весны заниматься такой ерундой, да так из-за нахватки времени и оставил на пол-дороге (А задумано было создать Сервер приложений и SQL сервер в одном флаконе).Как делать все понятно, но времени нет! По поводу топика хочу только обратить внимание на то , что делать сервер на Vb следует через функции уведомления Windows ( есть запрос - есть ответ, нет запроса - все ресурсы WinServer свободны ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 11:38 |
|
||
|
|

start [/forum/topic.php?fid=45&tid=1679212]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 374ms |

| 0 / 0 |
