New deployment option to connect to 4D Servers

I just watched the video titled " Discover new deployment options of 4D v18".

When connecting to a 4D Server database do we loose access to the current database? In other words does opening a new remote connection to the 4D Server close the caller’s access to it’s own database?

It was hard to hear and understand the session due to poor audio but form what I gather the caller 4D database must be compiled and merged in order to work. So testing becomes an issue due to the constant back and forth (compile-merge-test-fix code on interpreted-compile-merge-test-repeat). Not the best way but if the gods deemed it that way I can live with it. Otherwise this feature for our purposes is a breath of fresh air.

We are sorry about the audio, personally I use an external Bluetooth speaker (as opposed to output built-in to my laptop) but I understand it demands extra concentration whatever the setup.

What’s new in v18 is that you can let the built client app run a local structure file on startup. The initial connection to server as well switching to a different server were both done by OPNE DATABASE, which has been an option since v15, available built, compiled or interpreted. Since you are closing and opening a database (local or remote), yes, you “loose access to the current database”.

To establish concurrent connection to multiple 4D Servers, consider remote ORDA.

Ok thanks for clearing that up. I knew about the Open Database but thought this was a way to keep both open but it seems by what you are saying that it is essentially the same effect.

I was looking at accessing a 4D Database which holds static data and perform queries and then return the results either raw data or the expected report. I am using WebServices and that is working quite well.

Since I need access to both the caller database and the static data database it would be too cumbersome to keep opening it and then re-opening the caller one (which is why we don’t use OPEN DATABASE). We need to do hundreds of calls at a time so I’ll stick to WebServices.

Thanks for the quick response.


Ha! I had not paid attention to the link you gave. That is exactly what I may need. I just have to learn ORDA now!

One of the things we are doing is creating tables and fields dynamically on a 2nd database. That is the one I access via SQL (to create Tables and Fields) and WebServices to pass parameters that tell that 2nd database what to do and then return data. Works quite well.

Pardon for the lazy question but can ORDA manipulate the Tables and Fields in the way SQL does?

Thanks Miyako for your help in this matter.


I am not sure if the idea of “creating tables and fields dynamically” is the best choice with ORDA, if the data structure is dynamic, I would consider using an object field (dataClass storage attribute) first.

Thanks Miyako. I’ll investigate ORDA.