Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Database connections

1 view
Skip to first unread message

Lance Robaldo

unread,
Jul 20, 2007, 10:14:15 AM7/20/07
to
We have a product consisting of several hundered seperate applications, all
of which access an Oracle database.
The main program is not much more than a simple menu that spawns all of the
other programs.

The problem is that on some of our larger customers, they may have 50 or
more people each running an average of 10 or so programs at a time from the
menu.

Each program has a database connection, and up to 30 query components.
Since this creates a seperate database connection for each program, some of
our clients are starting to experience some serious performance issues on
the database because of all the open Oracle connections.

Is there any way the main application can open a single connection to the
database, and the spawned programs share that database connection component?

Datasnap kind-of allows us to do this with datasets, but it requires all of
the datasets to reside on the application server. In our case each program
does something entirely different with the data, so putting all the datasets
in an application server really won't work well for us. Also, our product
consists of literally hundreds of executable programs executing thousands of
different queries on around 100 tables, it would be a nightmare to try to
put all the necessary datasets in a single application server.

We really need to share the database connection, but have the datasets
themselves in the individual executable programs.


Thanks for any ideas here.

Lance Robaldo
La...@Robaldo.com


billaras

unread,
Aug 16, 2007, 7:51:10 PM8/16/07
to
honestly i dont think that i would be the best one to advise you on this
issue since im
just a student but why dont you try to use a more distributed model. for
example
you could divide the services and isolate them in diffrent application
servers. this way you would have
many application servers (datasnaps) each one with one database connection
.users would then use
their applications to connect to the appropriate datasnap server and perform
the transactions.let me give you an
example:
lets say that the services are:
1)login service
2)messaging service
3)file exchange service

you could have 3 application servers,each managing one separate service.
each server
could maintain one database connection (3 total connections).users would
connect to diffrent servers
to perform their transactions. imagine for example one client program having
2 socketconnection components
to connect to the 2 services.
you could even divide the database itself in diffrent parts (something like
a distributed database) in order to
increase the performance.

this way you would have much less database connections, you could increase
the performance by isolating
the services in diffrent servers.the system could be managed and updated
easier. the most serious issue i think
is that you use (if i uderstood correctly from "access an Oracle database")
only one database
for all tables.try distributing the database and balance the workload in
diffrent servers.


as i said im just a student so i dont think that my proposed solution is
very professional or valid since
i dont have must "real life" experience in these situations.sorry if the
above was st...:):):):)

thanks


"Lance Robaldo" <RRob...@wltsoftware.com> wrote in message
news:46a0c33c$1...@newsgroups.borland.com...

0 new messages