[Webinar] Streamline your web hosting managementRegister Today


Maximum users and suggestion needed

Posted on 2004-04-25
Medium Priority
Last Modified: 2010-04-05
A client ask me to build a system that will be used by almost a thousand users connected via Intranet and Internet.

Is there a maximum users for SQL database?

As I have to upgrade from Delphi 4 to Delphi 8, and from information I have, it seems that there are a number of ways to work on.

So I need to know which is the best way to proceed? Interbase, dbExpress or other?
Question by:fhtong
LVL 19

Accepted Solution

Melih SARICA earned 1200 total points
ID: 10915658
Use MsSql Server or Oracle as a Database Server.

If u'll use Delphi 8. it means it ll be a .NET Application. Best way to use DbServers with a .NET application,

with MsSql Server use ADO Connections.

with Oracle use Oracle .NET Connections ( can be found in official oracle website).

Never use Interbase or that kinda db for big amount of users.

Best is Oracle, but MsSQL server works fine with .NET platform..
LVL 12

Expert Comment

ID: 10916292

   First - about the number of users ... it depends on the license for DB server you purchase. There are 2 possible ways - license depending on users count and license for CPU count.

   You can make some application, so that some users use the same user account.

    The best way to connect to DB server is the Direct Access Components. This is fastest and the best solution. Unfortunatelly most of them are not free. If you are going to build big application - then you can afford to purchase them. I would recommend you to check this:    http://www.crlab.com/products.html


Expert Comment

ID: 10916950
Project dimensions shows that you must restrict  user acces to database i.e. you should not create SQL Client-Server application. For any SQL PC based server it is too hard  manage 1000 simultaneous transactions. It seems to be a 3 component system such as Client - App server - SQL server. In this case no matter license count - you can connect only once by the App server as single user.
Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

LVL 12

Assisted Solution

Ivanov_G earned 800 total points
ID: 10917110

   MikProg mean 3-tiered architechture, which is good of course. You can put your business logic there. About the connection

  +---------+       slow connection           +-----------------------+        fast connection            +---------------+
  | Client   |   -----------------------------  | Application Server  |  ------------------------------   |  DB server   |
  +---------+                                         +-----------------------+                                          +--------------+

  This is the so called distributed applications. It will prove your application performance, but anyway as I suggested above - use DAC (Direct Access Components) if possible.

  For Application server you can choose COM objects, MTS COM+ or web services. COM+ is COM object with transactions and some additional features. Web services are called also SOAP and they offer you chance to move the App Server to Linux.

  If you want COM or COM+ - your application server machine should be running Windows. for Delphi version - consider Delphi 5 and above
  For web services (SOAP) - you app server can be on Windows or Linux (for Linux you will need Kylix version) - you need Delphi 6 and above or Kylix 3
LVL 18

Expert Comment

ID: 10919799
Just a thought on your database server, MySQL has come a long way and there are .NET drivers available if you plan on using Delphi 8. I think for this ty[pe of app Delphi 8 may not be your best choice.

To stir conversation it just kind of seems that .NET may go the way of JAVA. Just "there". We'll see!

You can get anything you need for MySQL from:


MySQL is free unless it is being sold or needed as part of distributed commercial application, as I recall. .NET and Delphi drivers are available and the best direct Delphi drivers come from ZEOS Lib available (free) from


Maybe I helped.
LVL 12

Expert Comment

ID: 10919884
ZeosLib is complete ****. It can not replace Params property ....

   Anyway consider that application for .NET is Java like - it does not contain executable code. It is byte code and need VM to run. .NET is the answer of Microsoft after Sun took them to the court because they can not sell Java...

   Better stick with the standart technologies...
LVL 19

Expert Comment

by:Melih SARICA
ID: 10919961
Best way to decide the Db ...and the connections or the computers... shortly.. the project..

Depends on the budget...

ın a big project.. its not a good way to prepare it with small amout of money..

U can be sure that .. as a start it ll be a good solution.. but after a period when ur system crashes ro data lost...

U ll pay more of the budget..

Client must be sure about the reliability and stability of the db and  application..

this is wot they must decide...

Cheap solutions with lots of data and time losts..  
or a perfect planned budget, with a reliable and stable db and application...

Do not ever forget .. if a company could not set up its old system and applications in 10 days period.. u can be sure that 90 percent it s going to be a hell for it.. and it ll be closed at most one year period...


Expert Comment

ID: 10919984
Sounds like a man burnt from the fire of experience non_zero :)
LVL 19

Expert Comment

by:Melih SARICA
ID: 10920019

MySQL wont be up for a long time with that amount of users and transactions..

MySQL sucks... wot can u wait from a tiny, textbased, slow database. lot of bugs.. no way ...

U cant waste ur money that easly... We r talking about thousands of users... and it means at least hundreds of transactions per second..  

there is a saying..

I am not rich enough to waste money with cheap stuff...

LVL 19

Expert Comment

by:Melih SARICA
ID: 10920035
thats wot i am talking about smurff :p


Author Comment

ID: 11011866
Thanks for valuable information.

Since I have to arrange my testing, there is another question. But it would be good to close this one and go to another question.

Featured Post

Learn to develop an Android App

Want to increase your earning potential in 2018? Pad your resume with app building experience. Learn how with this hands-on course.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
With just a little bit of  SQL and VBA, many doors open to cool things like synchronize a list box to display data relevant to other information on a form.  If you have never written code or looked at an SQL statement before, no problem! ...  give i…
How to fix display issue, screen flickering issue when I plug in power cord to the machine. Before I start explaining the solution lets check out once the issue how it looks like after I connect the power cord. most of you also have faced this…

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question