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

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

БД + сеть, посоветуйте! [D7]


Страницы:   1 2

Suslik ©   (2005-10-14 14:38:00) 

Всем респект! Хочу посоветоваться как лучше делать, это мои первые шаги в делфи, поэтоум буду рад если не обойдете вниманием.
Такая ситуация, мне нужно написать распределенное приложение: серверная часть, клиентаская и БД. Это программа для тестирования. Я вижу схему такой:
1. Каждый клиент имеет доступ к БД. А сервер лишь играет роль настройщика и через него заносятся новые данные (тесты...) в БД.
2. Только сервер имеет доступ к БД и поэтому все изменения делаются только им, в зависимости от приходящих клиентских запросов.

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

Если все-таки 1 вариант, то:
1. с пом-ю какой технологие лучше осуществлять доступ (BDE, ADO, либо еще как)?
2. какуб БД лучше использовать
3. как тогда должен осуществляться доступ к БД по сети, видимо здесь уже обчными локальными базами не обойтись?

Если же 2 вариант, то:
1. каким образом лучше связывать две программы по сети?
2. какуб БД лучше использовать

Ну и если я незматели каких-то камней еще, то скажите, либо весьма возможно где-то просто бред написал, но это все вновинку, так что можете осуждать.

Я не прошу приводить программный код, хотя бы укажите в каком напрвлении нужно копатьи изучать информацию.

Зарание блогадарю.


Курдль   (2005-10-14 16:51:00) [21]


> Также, если бы запросы шли через "сервер", то у препода
> была бы возможность отслеживать текущее состояние отвечающих
> по мере ответов (сколько уже ответил сколько правильно из
> них и т.д.) не обращаясь переодически к базе.


Для такой хрени идеально бы подошла VS + .NET Remoting с хранением данных в XML (если уж на любую СУБД - табу).


Suslik   (2005-10-14 16:45:00) [22]


> ANB©   (14.10.05 14:42) [1]
> - хм. Я такую же пишу. Чего тестировать ?


Да это прога для тестирования учеников. Знакомый препод попросил написать, а я до этого только на басике писал, вот дай-ка думаю по такому случаю и попробую :)


> Sergey13©   (14.10.05 14:46) [3]
>
> А зачем 3 уровня? Почему не клиентская программа + север БД?

Возможно и так, просто сервером я называю ту часть через которую учитель будет вносить новые задания, проверять результаты и определять тему теста. Также, если бы запросы шли через "сервер", то у препода была бы возможность отслеживать текущее состояние отвечающих по мере ответов (сколько уже ответил сколько правильно из них и т.д.) не обращаясь переодически к базе.


> Курдль©   (14.10.05 14:58) [5]
> Если прога не предполагает доступа клиентов через инет,
> если нет соблазна исполнить клиентскую часть под вэб - тогда
> двухзвенка.


Нет поставить на главную машину сервер, например, Апач и на ПХП написать эту программу, на основе MySQL, мне было бо конечно проще,НО:
1. мне интересно попробовать Делфи.
2. не запускать по возможности фоновых программ для работы, вроде сервера апач и мускул
3. а не через пхп я не работал с базами в web интерфейсе


> isasa©   (14.10.05 15:40) [7]
> CGI - как обычно,
> ISAPI - пишем "вызывающую прокладку", на том-же языке программирования


К сожалению код что вы привели для меня мало о чем говорит :(

2 msguns:)) да в этом что-то есть, но зато предлагается оч много вариантов даже интересно, и наверное не только спрашивающему, главное только не запутаться :) А написать по возможности хотелось бы как можно проще. т.к. тетирование всего наверное 20 человек, да и мой уровень в этом деле ограничивает.


msguns   (2005-10-14 15:59:00) [23]

Если это простая тестовая программка (типа проверки знаний студентов) - вопрос - НАФИГА ТАМ ВООБЩЕ СИКВЕЛЬ ? Что, по сетке можно читать-писать данные только "сервером" ? Или для того, чтобы 100 чуваков одновременно СМОТРЕЛИ один и тот же файл и ПИСАЛИ КАЖДЫЙ В СВОЙ нужны "трехзвенки" ?

Иногда складывается впечатление, что иногда кое-кто постит с одной целью - показать свою "крутизну"
 ;))


msguns   (2005-10-14 15:56:00) [24]

Мне это так нравится: стоит только кому-то спросить: чуваки, мне надо картошку перевезти из дачи до дому, что посоветуете ?, так начинается: один советует КАМАЗ, второй - провести до дачи  железную дорогу и "не мучиться", третий вообще говорит, кидай нафиг эту картошку и переходи на чипсы ;)


isasa   (2005-10-14 15:40:00) [25]

- как он тестировать из веб интерфейса будет ?
Можно!
CGI - как обычно,
ISAPI - пишем "вызывающую прокладку", на том-же языке программирования(с дебаг информацией)

...
EXTENSION_CONTROL_BLOCK* m_pECB = &m_ECB;
...
HMODULE hL=LoadLibrary(lpFileName);  // ISAPI библиотека (DLL)
...
m_ECB.cbSize=sizeof m_ECB;
m_ECB.ConnID=(HCONN)0x911fc8;
m_ECB.lpszMethod=LPSTR("GET");
m_ECB.lpszQueryString=(++pszPtr);
m_ECB.lpszPathInfo="";
m_ECB.lpszPathTranslated="E:\\WWW";
m_ECB.cbTotalBytes=0;
m_ECB.cbAvailable=0;
m_ECB.lpbData=0;
m_ECB.lpszContentType="";
m_ECB.ServerSupportFunction=&SrvSuppFunc;
m_ECB.ReadClient=&ReadClnt;
m_ECB.WriteClient=&WriteClnt;
m_ECB.GetServerVariable=NULL;
...
httpProc httpDLL = (httpProc) GetProcAddress(hL, "HttpExtensionProc");
if (httpDLL==NULL) return S_OK;
...
DWORD result=httpDLL(m_pECB);
buff.Format("result %d
", result);
buff.AppendFormat("Status %d", m_ECB.dwHttpStatusCode);
pElem->put_innerHTML(buff.AllocSysString());
...
FreeLibrary(hL);


ANB   (2005-10-14 15:04:00) [26]


> Если прога не предполагает доступа клиентов через инет,
> если нет соблазна исполнить клиентскую часть под вэб
- как он тестировать из веб интерфейса будет ?


Курдль   (2005-10-14 14:58:00) [27]


> Suslik   (14.10.05 14:38)


Если прога не предполагает доступа клиентов через инет, если нет соблазна исполнить клиентскую часть под вэб - тогда двухзвенка.

Рекомендуемая СУБД зависит от объема данных и количества юзеров.
Если не критично, то: DSKalugin ©   (14.10.05 14:46) [2]

Как писать трехзвенку на Делфях - не знаю. Не пробовал. Только на вижуал кролике :-(


ANB   (2005-10-14 14:52:00) [28]


> Sergey13 ©   (14.10.05 14:46) [3]
> 2Suslik   (14.10.05 14:38)
> А зачем 3 уровня? Почему не клиентская программа + север
> БД?

Не знаю. У меня клиент на делфи и оракл - как база.


Sergey13   (2005-10-14 14:46:00) [29]

2Suslik   (14.10.05 14:38)
А зачем 3 уровня? Почему не клиентская программа + север БД?


DSKalugin   (2005-10-14 14:46:00) [30]

поищи в нете по словосочетанию
"технология Client/Server" и "технология midas"

про BDE даже и не думай
из СУБД выбирай чтонибудь бесплатное и простое типа FireBird


ANB   (2005-10-14 14:42:00) [31]


> Это программа для тестирования.
- хм. Я такую же пишу. Чего тестировать ? Заходи ко мне в аську - пообщаемся 285340244


Страницы:   1 2

Наверх

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