Board index » delphi » Remote Database Server

Remote Database Server

Hello,
I am new to multi-tier database programming and I have few questions.

I will design a multi-tier application. The firm uses Oracle as the database
server, I am planning to use dbExpress. I will develop server and the client
applications seperately. Do I have to run my server application on the
machine that Oracle Server runs? Hyw can I connect the server application to
the remote Oracle Server machine? What is the best way to do this?

There are approximately 50 clients in the firm. Each of them will execute
different queries. Do I have to create seperate Provider and Dataset
components for each query that will be executed from the clients? Or is it
ok to create one Provider and one dataset component that will execute all
the query requests that originate from the clients?

 

Re:Remote Database Server


Quote
"Ozzy Kain" <o...@no-email.com> wrote in message news:3cfc761d_1@dnews...

> I will design a multi-tier application. The firm uses Oracle as the
database
> server, I am planning to use dbExpress. I will develop server and the
client
> applications seperately. Do I have to run my server application on the
> machine that Oracle Server runs?

No, the Oracle server can be anywhere. You connect to it using whatever
methods Oracle allows, usually TCP/IP is best for most or all database
servers.

Quote
> Hyw can I connect the server application to
> the remote Oracle Server machine? What is the best way to do this?

Same as any application, using a connection component and specifying the
TCP/IP address and port for the server.

Quote
> There are approximately 50 clients in the firm. Each of them will execute
> different queries. Do I have to create seperate Provider and Dataset
> components for each query that will be executed from the clients? Or is it
> ok to create one Provider and one dataset component that will execute all
> the query requests that originate from the clients?

Either way works, but I would recommend using multiple query/provider
components at least for the most commonly used queries. This saves some
overhead and gives a little more performance. A single component makes sense
for ad-hoc query requreiments of course.

--
Wayne Niddery (Logic Fundamentals, Inc.)
RADBooks: http://www.logicfundamentals.com/RADBooks/delphibooks.html
Those who disdain wealth as a worthy goal for an individual or a society
seem not to realize that wealth is the only thing that can prevent
poverty. - Thomas Sowell

Re:Remote Database Server


Quote
> Either way works, but I would recommend using multiple query/provider
> components at least for the most commonly used queries. This saves some
> overhead and gives a little more performance.

I would also strongly recommend using multiple query/providers. Some of the
main reasons are:

- You can create persistent fields on the DSP.DataSet . Being able to set
the ProviderFlags is usually very necessary for normal MIDAS functionality.
It can also be very useful to set captions, defaults, constraints, display
formats, edit formats, etc, at the appserver, so centralising this
functionality.

- You can add property settings and event code to the DSP, specific to that
particular dataset. There are often secondary updates/deletions/checks/etc
you want to carry out at the server that only relate to that particular
dataset.

- Maintenance. It is far easier to maintain/update/enhance than some form of
generic/multi-purpose provider system.

- One of the objectives of multi-tier design is to centralize as much of the
functionality as is realistically possible at the appserver. IMHO to attempt
to do this through a few highly complex generic/multi-function DSP/Query
combinations, which have to tailor themselves to suit each specific dataset
data request/update is not really a sensible approach.

HTH
--
Dave Rowntree

Other Threads