Jump to content
Sign in to follow this  

getting started question: ToGo or Local

Recommended Posts

Context latest Delphi 10.4.1, Arch and Interbase 2020. Windows 10. FireDac.

Local home network, both cat-6 wired (desktops) and wifi (laptops)

The laptops are much slower on connecting--enough to be annoying--so I'm thinking about using primarily either ToGo or a local IB server. The data has a high-use but low volatility, so coordinating between the local and main servers will be relatively trivial.

Is there a good sample app for setting up an embedded or local IB delphi app? I assume I have to include different files. The one briefcase model I found used a server and local flat files.

Thanks for any help or links.



Share this post

Link to post

First, I would try alternatives to regularize the performance of your network, which, I think is for internal use, and, perhaps with external connectivity to the internet.

Well, in this case, a good option would be to reevaluate your network server, I think it is badly configured, and, at worst, congested. If congested, a new hardware upgrade plan may be needed!


There is also, on the notebook side (clients), the possibility of having a network card in the "Megabits" standard, and today everything revolves around "Gigabits", even if using Wifi instead of standard cabling. In this case, it would be necessary to exchange the network cards for more updated cards, if this is the current design.

To remedy, or at least, remove any doubts about the performance of the local network among notebooks (clients), removing them from the main network, to test performance.


Now, if the clients' performance proves to be adequate when exchanging data (files, etc ...), then it is confirmed that the bottleneck is in your server, where they are currently connected.


One of the causes of its loss of performance, may be precisely, the access to the internet by the data server, since it will always be consulting it at all times, and Interbase may be doing the same thing. Thus, this can influence the demand for data services.


Clearly, you need to divide the jobs:

  1. have a server with internet access (which can be released to all computers and devices of interest)
  2. have a server with access to the Database Interbase (out of reach of the internet).

This way, you would have a local subnet, for the Database, and a general network for external access (internet) for example.


Some like this: with 2 hubs (basic) and 1 switcher, you will have this design in action!

  • Hub 1 = 192.168.1.x
  • Hub 1 = 192.168.2.x
  • Switcher (192.168.3.x)  "join" Hub 1 + Hub 2 address ===> on Switcher, you can create "Virtual Nets" and give access to your servers (Database and Internet)


Good site for study about networks: https://sourcedaddy.com/networking/extending-the-network-with-multiple-hubs.html


To join the two subnets, you could use a "switcher" (preferably, as it is specific to this) or a "hub" with the option to concatenate the two networks.


Regarding your application with access to Interbase, please be aware that the RAD Studio Enterprise / Architect edition provides a limited license for use in "development", for use in "production" it is necessary that each customer has their license installed. For more details, see the Embarcadero website on this subject.

The license for IBtoLite / IBtoGo is for exclusive access to a Database, not for multi-users!




Developer Edition Licensing
InterBase Developer Edition allows software developers to freely develop InterBase applications before they deploy them. All the functionality of InterBase Server Edition is included with Developer Edition.


Additional InterBase Licensing Information

You must purchase a Desktop license for each Desktop edition you plan to deploy.

You must purchase a ToGo license for each ToGo edition you plan to deploy.

An InterBase Server License activates the InterBase Server software and a license for 1 User connection or for the number of users based on the volume license purchased.

InterBase Server Edition licenses include support for up to 8 CPU cores. To add support for more than 8 cores on a single machine, additional licenses are required.

To purchase additional simultaneous user licenses to an existing InterBase Server installation, additional Simultaneous User Licenses can be purchased in the same quantities listed above to allow additional users to connect.

Each Simultaneous User License consists of a license certificate with a serial number. Entering and registering the serial number using the InterBase License Manager will add additional simultaneous user connections to the InterBase Server.


In your RAD install, you have in (Samples folders)  ...\Object Pascal\Database = FireDAC and Interbase Demo for tests!

Edited by emailx45

Share this post

Link to post
16 hours ago, emailx45 said:

First, I would try alternatives to regularize the performance of your network,


In your RAD install, you have in (Samples folders)  ...\Object Pascal\Database = FireDAC and Interbase Demo for tests!

Don't know if I provided too much context or not enough.

I've got a pretty good idea what's slowing down the wifi, but not really interested in that, because (1) the unit router actually belongs to the apartment building. It's single band 2.4, but more than adequate for most purposes, and more importantly (2) this is mostly just an excuse to learn more about IB and FireDAC. I worked professionally against SQLServer for well over a decade, mostly dbGo, but also ODBC and (many years ago} BDE. But I never had the occasion to write a briefcase app: all strictly C/S. Since I'm retired now I have time to learn IB and FireDAC.

What I didn't see in the Rad Studio samples is a pair of clear examples of the difference between setting up a Delphi FireDAC app to run IB embedded vs IB desktop. Is that a matter of FireDAC connection settings? Specific files in the connection datamodule uses clause? Some specific FD physical layer support component? I can easily set up a local IB connection, but since my dev machines have a local IB server running, I can't say for sure I know whether it's embedded vs desktop. I want to get the connection options completely sussed before moving into all the other new (to me) IB/FD goodies


Share this post

Link to post

if you world is C, then CBuilder!

Object Pascal (Delphi) would be very easy for your xperience!

  • Confused 1

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this