Maximum users and suggestion needed

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?
Who is Participating?
Melih SARICAOwnerCommented:
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..

   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:

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.
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions


   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
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.
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...
Melih SARICAOwnerCommented:
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...

Sounds like a man burnt from the fire of experience non_zero :)
Melih SARICAOwnerCommented:

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...

Melih SARICAOwnerCommented:
thats wot i am talking about smurff :p

fhtongAuthor Commented:
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.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.