REMOTE Connection към AppServer

4 отговора 214 прегледа
#1

REMOTE Connection към AppServer

Използвам "клиент-сервер-база данни" приложение(Midas tehnology или незнам Midas-а "tehnology" ли да го нарека, но това не е съществено). Проблемът е, че когато клиентите и сървъра са на един и същи компютър, всичкоа е ок, но ако сървъра е на Remote computer, клиентското приложение не може да се свърже. Доколкото знам трябват някаккви специални настройки на DCOM-a, но не знам точно какви(пробвах се с DCOMCONFIG-a, no ne stana) и също, че сървърското приложение трябва да се инсталира на всеки от клиентските компютри? Връзката клиент-сървър в Делфи правя с DCOMCONNECTION - незнам друг начин, съответно когато се мъча да направя Remote connection, на property-то ComputerNаme задавам стойност името на Remote компютъра (например 'WorkStation1'), обаче пак не мога да се свържа към сървъра. Някой знае ли как евентуално да регистрирам сървър-а на клиентския компютър?

Отговор
в отговор на VladoVasilev #2

Re: REMOTE Connection към AppServer

Здравей
нещо не мога да те разбера client/server ли пишеш или DataSnap(Midas) приложение, т.е. минаваш през app server, който се свързва с базата данни или ...., както и да е. app server-а по принцип се регистрира автоматично при първо стартиране, ако не става пробвай с regsvr32 <път и име на app.server>, също така провери дали на този компютър с междинния слой, т.е. applicaion server-а, е качена midas.dll.
виж на [линк] за инструкции(малко стар док ама ще ти свърши работа)

Отговор
в отговор на VladoVasilev #3

Re: REMOTE Connection към AppServer

ako mi dadesh e-mail ste ti pratq edno fajlche w koeto sam si zapazil ka se prawqt nastrojkite za dcom, baq igra padna dokato stane:)), znacji za da moje da ti se izpulnqwat dopulnitelnite funkcii/proceduri, koito si suzladal kato rashirqwash type libraly-to na servera si ot clienti trqbwa midas.dll da go postawish system32 direktoriqta na windows, i da registrirash servera na wsqka clientska mashina. ima 2 nachina za regwane 1. kato go startirash na wsqka mashina i vtori kopirash programkata si na wsqko pc i v command line pishe putqi imeto si na serevera i /regserver t.e c:\mysrv\srv.exe /regserver, ako reshish che iskash de go unregwash pishesh c:\mysrv\srv.exe /unregserver.
ako ne durjish tolkowa mnogo da izpolzwash dcom, to mojesh da izpolzwash socketconnection, kato za celta trqbwa da startirash scktsrvr.exe kojto se namira w bin directoriqta na delphi, s nego mojesh da si otwarqsh kolkot si iskash portowe, i ne e nijno da registrirash servera na wsqko pc, nito da si igrasesh s dcom, ima sorsove na scktsrvr.dpr i mojesh da si modificirash kolkoto iskash
ako ima drugo pitaj

Отговор
в отговор на VladoVasilev #4

Re: REMOTE Connection към AppServer

DCOM връзките работят отлично в Делфи, ако не се лъжа преди повече от 6 години бе първата ми програмка на тази тема...
НЕ Е НЕОБХОДИМО ДА РЕГИСТРИРАШ СЪРВЪРА на всяка машина... ПРОСТО НЕ Е НЕОБХОДИМО... За тази цел си има нещо наречено TLB. Ако провериш в директорията където се намира изходния код на твоя сървър, ще видиш че има такова чудо. Обикновено носи име същото като сървъра ти... ОСНОВНОТО му предназначение е именно това - да позволява да се регистрират сървърните COM класове на клиентски машини... Големината му е обикновено няколко КБ. Иначе си губи смисъла цялата идея, ако клиентските приложения се работят на машини където има регистриран и самият сървър.. Пък и клиента не му трябва да знае какъв е този твой сървър... А и ако сървъра не примерно няколко мегабайта.. Абе СЪРВЪР на клиентска машина НЕ СЕ РЕГИСТРИРА... След като си взел TLB-то, го регистрираш както регистрираш СЪРВЪР. Може да направиш и така, че при първо стартиране на твоята клиентска програма тя да регистрира интерфейсите които се намират описани в TLB-то. Виж едно примерче на Борланд, намира се в Х:\Program Files\Borland\Delphi6\Demos\ActiveX\TRegSvr Там много добре е написано как става. Обърни внимание на функцията RegisterTLB
И другото - виж правата на достъп...


Отговор
в отговор на sev_co #5

Re: REMOTE Connection към AppServer

Здравей :)
Значи, c:\winnt\system32\midas.dll - тва го имам. Ама пак не става. Ще ти дам e-mail-a си: vladovasilev@abv.bg. А за SocketConnection-a - това не е ли само за интернет? Аз вообще не съм в час с socket-ите...
Мерси!

Отговор