[Delphi] DCOM server en query's

Pagina: 1
Acties:

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik heb een DCOM server welke de verbinding legt tussen de MSSQL server en de clients. Maar moet ik voor elke query een aparte ADODataSet en DataSetProvider op de DCOM server maken? En dan bedoel ik de query's die tegelijkertijd open kunnen zijn (is helemaal het geval in een MDI client applicatie).

Als dit zo is, is dat een beetje vreemd, want dan krijg je toch een wild groei aan componenten op de server? Voor elke query een 2 componenten erbij!

Het zou toch mooier zijn als de DCOM server een Connection (in dit geval een ADOConnection) levert aan de clients en dat de verdere afhandeling daar gebeurd?

Iemand ervaring(en) hiermee?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • yodax
  • Registratie: Januari 2000
  • Laatst online: 28-04 08:47
Check eens in de help van de ClientDataSet bij CommandText.

Via die property kan je rechtstreeks SQL commandos doorsturen naar de server.

Je moet, zoals daar aangegeven staat, wel een optie op de provider actieveren.

  • Pooh
  • Registratie: April 2001
  • Niet online

Pooh

Lees eens een boek

Kun je iets meer vertellen over de opzet van je project?

Je hebt het over "tegelijk lopende query's", daarvoor zul je inderdaad verschillende componenten moeten creeren (tenminste, dat is wel zo handig), maar dat hoeft toch geen probleem te zijn?

In een MDI-omgeving kun je toch gewoon voor elk documentje 1 object aanmaken?

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Tuurlijk maken we gebruik van de CommandText, waar dus de SQL query's in staan.

Maar stel dat de client 2 form's open heeft, 1 voor klantbeheer en 1 voor projectbeheer. Dan moet je op de DCOM server al 2 DataSetProviders en 2 ADODataSets hebben, immers, 1 DataSet heeft 1 CommandText optie.

Dan komt er ook nog bij dat als de client iets extra's krijgt je direct de server kan gaan bewerken omdat er weer een query extra aanwezig is (= 1x DataSet + 1x DataSetPovider)

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • yodax
  • Registratie: Januari 2000
  • Laatst online: 28-04 08:47
Ik ken je situatie niet, maar mijn mening is dat je het punt van multi-tier ontwikkeling mist.

Jij legt 'intelligentie' in je client, je creeert dus eingelijk een fat-client, met nog meer overhead van een middelste laag.

Het mooie van multi-tier programmeren is juist dat je geen intelligentie in je client hebt. En dus alle queries op de server opslaat. Als je dan een wijziging in je bussines rules krijgt hoef je juist alleen maar de server te updaten. Dit scheelt je naderhand ontzettend in deployment kosten.

Een goed voorbeeld hier van zijn eventueel op te leggen contraints, die kan je rechtstreeks op je datasnap laag afdwingen, als ze daar wijzigen worden ze in de datapackets naar de client meteen mee gezonden.

Zelf heb ik dus nog nooit CommandText gebruikt, omdat dit precies de plank mis slaat in het n-tier ontwikkelen.

Het moet echter geen probleem zijn om met meerdere ClientDataSets tegelijk te verbinden met 1 dataset provider, zolang je COM server maar stateless is. Dit is namelijk precies wat er gebeurt als er meerdere clients connecten naar dezelfde COM server. (als je gebruik maakt van een single instance com server)

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Uuhmm, goede uitleg. Ik snap het nu idd beter.
Misschien is het leerzaam als jij es uitlegt hoe je het (meestal) doet. Je zegt bijvoorbeeld dat je geen CommandText gebruikt? Wat dan wel?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • yodax
  • Registratie: Januari 2000
  • Laatst online: 28-04 08:47
Als ik thuis (vanavond) ben zal ik wat ontwerp schema's posten, met een uitleg erbij.

21 januari ben ik afgestudeerd aan de Hogeschool van Amsterdam op dit onderwerp, dus heb die dingen toch digitaal.

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Zou wel leuk zijn. Alvast bedankt.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
En? :)

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Op woensdag 13 februari 2002 10:54 schreef yodax het volgende:
Als ik thuis (vanavond) ben ...

[..]
Niet thuis gekomen??? :P

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • yodax
  • Registratie: Januari 2000
  • Laatst online: 28-04 08:47
Hhehe, wel thuis gekomen maar heb de nagenoeg de hele avond aan de telefoon gehangen.

Ik zal het vandaag na het eten doen, maar het is ook valentijn enzo dus hou ik een slag om mijn arm ;) Het komt iig.

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Valentijn stelt niks voor, mij helpen gaat toch voor? :P

Ik zie het vanzelf wel.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Overigens:

Kan ik ook soort Child data modules maken, zodat ik bepaalde componenten kan groeperen.

Nu krijg ik namelijk bijzonder veel componenten in 1 Remote Data Module.

En kan ik ook op de client side aangeven welke Data Module ik op de server nodig heb voor een bepaald formulier?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Valentijn overleeft? :)

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Maar misschien is het makkelijk als je online komt op ICQ/MSN, dat gaat even wat directer als via GoT.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter

"The shell stopped unexpectedly and Explorer.exe was restarted."

Pagina: 1