Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Организация сетевой базы данных [D6]


Страницы:   1 2

Clone_Of_Toxic ©   (2005-11-23 08:35:00) 

Здравствуйте!
Суть проблемы такова:
есть простенькая БД (одна таблица в файле *.DB) и корявенькая программа для управления таковой (добавить, удалить, найти). Возникла необходимость написать более мощную программу для работы с этой базой по сети. Т.е. несколько человек на разных компах сидят и работают с одной и той же базой данных: один добавляет, другой ищет, третий еще чего-нибудь с ней делает.
Поразмыслив над этой задачей, я пришел к выводу, что реализовать это нужно примерно так: на центральном компьютере, где хранится БД (назовем его Главным), находится маленькая невидимая программка-сервер, а на остальных компьютерах находятся программы-клиенты, которые обращаются с запросами к серверу, а тот совершает необходимые действия (выдает нужные записи, принимает от клиента отредактированные  записи и т.д.).
Вопрос: каким образом и с помощью какой технологии это можно реализовать? И еще: где можно найти исчерпывающую информация на русском языке по данной теме?

Спасибо.


alex_***   (2005-11-24 10:19:00) [21]

Пользуясь случаем хочу выяснить один момент: в парадоксе решается проблема блокировок, когда клиент заблокировал таблицу и слетел? После этого блокировку я вручную убивал. Давно это было, но помню мучался с этим. Может я чего-то не знал тогда?


Виталий Панасенко   (2005-11-24 09:20:00) [22]


> AlexWlad ©   (23.11.05 21:22) [16]
>
> > Виталий Панасенко   (23.11.05 17:51) [15]
> >
> > Помоему, это глупости ты себе придумываешь !.. Чем тебе
>
> > Парадокс не нравится ?! В сети работает очень даже ничего
>
>
> Ну-ну...

С дуру можно и х.. поломать.. Не смотря на то, что это гидравлика ..:-)))


mr.il   (2005-11-24 06:08:00) [23]


> Я владею только BDE. С сетевыми ни разу не сталкивался.

Может все дело в этом. Раньше мне тоже было страшно при упоминаниии о необходимости перехода на клиент сервер. Сейчас я счастлив, что смог это сделать.


ASDF234   (2005-11-24 00:30:00) [24]

ну базы под FireBird, yafil и interbase при вырубании питания летят периодически до сих  пор :)  Так что без ИБП никуда!
Если конечно у тебя не 2 insert/updata в час :)


AlexWlad   (2005-11-23 21:22:00) [25]


> Виталий Панасенко   (23.11.05 17:51) [15]
>
> Помоему, это глупости ты себе придумываешь !.. Чем тебе
> Парадокс не нравится ?! В сети работает очень даже ничего


Ну-ну...


Нужно всего лишь БДЕ правильно настроить
> (указать правильно NetDir Для драйвера Paradox и не забыть
> в проге укзать Private Dir)


И УПС-ы на ВСЕ машины. И чтоб под рукой был "бубен программиста".

Автор! Не занимайся ерундой! Ставь FireBird или MSDE, используй IBX или ADO - и будет тебе щастье.


Виталий Панасенко   (2005-11-23 17:51:00) [26]


> Clone_Of_Toxic   (23.11.05 11:53) [14]
> Вот! Что мне и требовалось!
> Спасибо Slym и Desdechado :)
> Дальше уже попробую сам разобраться.

Помоему, это глупости ты себе придумываешь !.. Чем тебе Парадокс не нравится ?! В сети работает очень даже ничего(хотя некоторые его поносят :-))) Все напишешь САМ. В принципе, пишешь прогу, А ОНА УЖЕ ВСЕ РАВНО СЕТЕВАЯ.. Если ты, конечно, ничего не извратил.. Нужно всего лишь БДЕ правильно настроить (указать правильно NetDir Для драйвера Paradox и не забыть в проге укзать Private Dir)


Clone_Of_Toxic   (2005-11-23 11:53:00) [27]

Вот! Что мне и требовалось!
Спасибо Slym и Desdechado :)
Дальше уже попробую сам разобраться.


Slym   (2005-11-23 11:33:00) [28]

Если сильно свое надо:
1. Написать сервер.
1.1. Разрабатывай протокол обмена клиент/сервера
1.2. Написать парсер протокола
2. Написать клиента.
2.1. Написать прослойку для DBAware компонент

в MIDAS -
1. scktsrvr.exe
1.1. XML
1.2. midas.dll
2. TSocketConnection
2.1. TClientDataSet


Desdechado   (2005-11-23 11:02:00) [29]

может, тебе 3-звенка нужна, а?
под описание подходит
бери Midas, например


Sergey13   (2005-11-23 10:30:00) [30]

2 [9] Clone_Of_Toxic   (23.11.05 10:20)
Таки я не понял - тебе надо шашечки или ехать?
Т.е. тебе надо написать работающую сетевую СУБД или поупражняться с Д6?


dioman   (2005-11-23 10:20:00) [31]

Сервер - создаешь программу сервис. Слушаешь порт какой-нибудь, получаешь пакеты в виде запросов.. ложишь их в очередь, обрабатываешь по очереди. И передаешь любимому БДЕ... получаешь ответ в виде таблицы... отправляешь их клиенту... клиент получает и показывает! (только как передавать нужно подумать... на ум лезет сериализация готового класса который представляет таблицу (как он там называется).. либо собственная структура....
Никакой параллельной обработки, блокировки, многопоточности... класный сервак.
Я так понял нужно для учебных целей (раз самому нужно писать)...


Clone_Of_Toxic   (2005-11-23 10:20:00) [32]

2Sergey13
>.А Парадокс и БДЕ ты тоже сам писал?
Нет, не я :) Но смысл таков: используя только D6 и иже с ним написать и клиента, и сервера.

2Anatoly Podgoretsky
>Можно на любой технологии, лучше на той который ты как то владеешь.
Я владею только BDE. С сетевыми ни разу не сталкивался.


dioman   (2005-11-23 10:14:00) [33]

Да если фаерберд не подходит, потому что не написан Clone_Of_Toxic.. то
оракл точно подойдет! :)
А че собна нада то?


msguns   (2005-11-23 10:10:00) [34]

>Clone_Of_Toxic   (23.11.05 09:57) [3]
>FireBird не подходит - клиент, равно как и сервер, должен быть написан мною.

Кстати,для полной крутизны и тайности надо бы окромя сервера написать еще и свою ОС. Да и процессор тоже некисло свой бы разработать. Вместе со всей остальной "требухой" ;)


msguns   (2005-11-23 10:06:00) [35]

В качестве савсэм маааленькой програмки, которую ну совсэм не видно, советую любимый 13-м Сергеем Уракл.


Sergey13   (2005-11-23 10:00:00) [36]

2[3] Clone_Of_Toxic   (23.11.05 09:57)
А Парадокс и БДЕ ты тоже сам писал?


Anatoly Podgoretsky   (2005-11-23 09:59:00) [37]

Clone_Of_Toxic   (23.11.05 09:57) [3]
Можно на любой технологии, лучше на той который ты как то владеешь.


Clone_Of_Toxic   (2005-11-23 09:57:00) [38]

2Sergey13
>В качестве программы-сервера надо взять серверную БД (рекомендую FireBird) и >написать клиента.
FireBird не подходит - клиент, равно как и сервер, должен быть написан мною.
Вопрос в другом - на какой технологии основывать проект? Та старая оболочка была основана на BDE. А на чем создаются сетевые базы данных в делфи?

2msguns
> ЦРУ ?
Нет, просто чтобы не путалась под ногами и не мозолила глаза. Висит себе в памяти и с клиентами общается.


msguns   (2005-11-23 09:09:00) [39]

>находится маленькая невидимая программка-сервер

ЦРУ ?


Sergey13   (2005-11-23 09:04:00) [40]

2Clone_Of_Toxic   (23.11.05 08:35)
Мыслишь ты правильно, только выражаешься несколько заумно. 8-)
В качестве программы-сервера надо взять серверную БД (рекомендую FireBird) и написать клиента.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо