REMOTE Connection към AppServer
4 отговора
214 прегледа
REMOTE Connection към AppServer
Използвам "клиент-сервер-база данни" приложение(Midas tehnology или незнам Midas-а "tehnology" ли да го нарека, но това не е съществено). Проблемът е, че когато клиентите и сървъра са на един и същи компютър, всичкоа е ок, но ако сървъра е на Remote computer, клиентското приложение не може да се свърже. Доколкото знам трябват някаккви специални настройки на DCOM-a, но не знам точно какви(пробвах се с DCOMCONFIG-a, no ne stana) и също, че сървърското приложение трябва да се инсталира на всеки от клиентските компютри? Връзката клиент-сървър в Делфи правя с DCOMCONNECTION - незнам друг начин, съответно когато се мъча да направя Remote connection, на property-то ComputerNаme задавам стойност името на Remote компютъра (например 'WorkStation1'), обаче пак не мога да се свържа към сървъра. Някой знае ли как евентуално да регистрирам сървър-а на клиентския компютър?
Re: REMOTE Connection към AppServer
Здравей
нещо не мога да те разбера client/server ли пишеш или DataSnap(Midas) приложение, т.е. минаваш през app server, който се свързва с базата данни или ...., както и да е. app server-а по принцип се регистрира автоматично при първо стартиране, ако не става пробвай с regsvr32 <път и име на app.server>, също така провери дали на този компютър с междинния слой, т.е. applicaion server-а, е качена midas.dll.
виж на [линк] за инструкции(малко стар док ама ще ти свърши работа)
нещо не мога да те разбера client/server ли пишеш или DataSnap(Midas) приложение, т.е. минаваш през app server, който се свързва с базата данни или ...., както и да е. app server-а по принцип се регистрира автоматично при първо стартиране, ако не става пробвай с regsvr32 <път и име на app.server>, също така провери дали на този компютър с междинния слой, т.е. applicaion server-а, е качена midas.dll.
виж на [линк] за инструкции(малко стар док ама ще ти свърши работа)
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
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
Re: REMOTE Connection към AppServer
DCOM връзките работят отлично в Делфи, ако не се лъжа преди повече от 6 години бе първата ми програмка на тази тема...
НЕ Е НЕОБХОДИМО ДА РЕГИСТРИРАШ СЪРВЪРА на всяка машина... ПРОСТО НЕ Е НЕОБХОДИМО... За тази цел си има нещо наречено TLB. Ако провериш в директорията където се намира изходния код на твоя сървър, ще видиш че има такова чудо. Обикновено носи име същото като сървъра ти... ОСНОВНОТО му предназначение е именно това - да позволява да се регистрират сървърните COM класове на клиентски машини... Големината му е обикновено няколко КБ. Иначе си губи смисъла цялата идея, ако клиентските приложения се работят на машини където има регистриран и самият сървър.. Пък и клиента не му трябва да знае какъв е този твой сървър... А и ако сървъра не примерно няколко мегабайта.. Абе СЪРВЪР на клиентска машина НЕ СЕ РЕГИСТРИРА... След като си взел TLB-то, го регистрираш както регистрираш СЪРВЪР. Може да направиш и така, че при първо стартиране на твоята клиентска програма тя да регистрира интерфейсите които се намират описани в TLB-то. Виж едно примерче на Борланд, намира се в Х:\Program Files\Borland\Delphi6\Demos\ActiveX\TRegSvr Там много добре е написано как става. Обърни внимание на функцията RegisterTLB
И другото - виж правата на достъп...

НЕ Е НЕОБХОДИМО ДА РЕГИСТРИРАШ СЪРВЪРА на всяка машина... ПРОСТО НЕ Е НЕОБХОДИМО... За тази цел си има нещо наречено TLB. Ако провериш в директорията където се намира изходния код на твоя сървър, ще видиш че има такова чудо. Обикновено носи име същото като сървъра ти... ОСНОВНОТО му предназначение е именно това - да позволява да се регистрират сървърните COM класове на клиентски машини... Големината му е обикновено няколко КБ. Иначе си губи смисъла цялата идея, ако клиентските приложения се работят на машини където има регистриран и самият сървър.. Пък и клиента не му трябва да знае какъв е този твой сървър... А и ако сървъра не примерно няколко мегабайта.. Абе СЪРВЪР на клиентска машина НЕ СЕ РЕГИСТРИРА... След като си взел TLB-то, го регистрираш както регистрираш СЪРВЪР. Може да направиш и така, че при първо стартиране на твоята клиентска програма тя да регистрира интерфейсите които се намират описани в TLB-то. Виж едно примерче на Борланд, намира се в Х:\Program Files\Borland\Delphi6\Demos\ActiveX\TRegSvr Там много добре е написано как става. Обърни внимание на функцията RegisterTLB
И другото - виж правата на достъп...
Re: REMOTE Connection към AppServer
Здравей :)
Значи, c:\winnt\system32\midas.dll - тва го имам. Ама пак не става. Ще ти дам e-mail-a си: vladovasilev@abv.bg. А за SocketConnection-a - това не е ли само за интернет? Аз вообще не съм в час с socket-ите...
Мерси!
Значи, c:\winnt\system32\midas.dll - тва го имам. Ама пак не става. Ще ти дам e-mail-a си: vladovasilev@abv.bg. А за SocketConnection-a - това не е ли само за интернет? Аз вообще не съм в час с socket-ите...
Мерси!