Jump to content
Henry Olive

VCL DB App. To Cloud

Recommended Posts

Good Day

 

Delphi : 10.4

Is there any program that converts a Vcl Db Appl. to Cloud ?

If not which solution is best in Delphi (RadServer etc...)

 

Thank You

 

 

 

 

 

Share this post


Link to post
11 hours ago, Henry Olive said:

Is there any program that converts a Vcl Db Appl. to Cloud ?

Your question is quite vague and is open to a variety of interpretations; you need to be much more specific about what you want.

 

For example:

  • Do you want to convert your VCL code to something like UniGUI where the program runs on a Windows server and generates HTML?
  • Do you want to know about options where you can add a library like Thinfinity Virtual UI to output your VCL to HTML?
  • Do you want simply want your VCL program to access data from a cloud?
  • Do you want to convert your application from accessing a local database to reading REST responses from a RAD Server (since you mentioned it)?
  • Do you want to convert your application to a WebBroker application that generates HTML natively?

Share this post


Link to post
8 hours ago, Henry Olive said:

i just want my VCL  program to access data from a cloud thank you

Oh, then the question is: what database are you currently using?  Will you be using the same one in the cloud?  If so, it could be as simple as setting up a VM, installing the database server, and pointing your VCL app to it. This can be done with FireBird, ElevateDB, SQL Server, or many other database technologies.

 

You did, however mention RAD Server which accesses data completely differently than a local database; so, again, your question needs provide a lot more details in order for people to give you relevant advice.

Share this post


Link to post

I use this setup that works great for my shopteam (POS system)

 

VCL application -> FireDac -> Portal Azure -> Azure Database (link to Youtube Delphi example)-> MSSQL -> whitelist user IP -> Connect -> Concentrate on User/business problems instead of  non RAD Web development issues (HTML/REST/JSON/Javascript)

 

With only Azure subscription and MSSQL database (2GB: not sure..) I pay about 5 Euro per month.

Edited by Die Holländer

Share this post


Link to post
16 hours ago, Henry Olive said:

i just want my VCL  program to access data from a cloud thank you

That is a very different thing.

The rule: correctly define what your problem is and you'll get the best answers.

 

  • Like 1

Share this post


Link to post
On 11/14/2024 at 10:42 PM, Henry Olive said:

Good Day

 

Delphi : 10.4

Is there any program that converts a Vcl Db Appl. to Cloud ?

If not which solution is best in Delphi (RadServer etc...)

 

Yes, this is rather vague. But if you're using D10.4 and it's a VCL DB app, then I'm guessing you're using some kind of TDatabase component to connect to your local DB?

 

If so, it may be as simple as changing your provider interface and connecting to that. If you're using MySQL or SQL Server locally, you can connect to the same DBs remotely. 

 

But you could also be asking a more generic question, like what's involved replacing a local DB with a REST-based service API? I mean, you mentioned RadServer, so maybe that's what you're looking for instead? That's a whole nuther can of worms! But if that's what you want, then you need to start shifting how you think about your DB.

 

In Delphi, using DB-aware controls, you're using a traditional client/server model where the app is simply connecting to a DB server and issuing queries and processing the responses. However, those queries tend to be invisible unless you're using explicit SQL queries.

 

Issuing SQL queries for tables and rows is often a lot more overhead than what you want to do if you have a REST-based API -- in that case you need the queries to be more granular. A lot of client/server apps issue things like, "SELECT * FROM ...." and get back thousands and thousands of records, then filter them down. Using a REST-based API, it's best to issue extremely specific queries. Like if you're using a grid to show some data, you'd issue queries that only request to get the number of rows and columns in the grid. If it's a master/detail list, then when the user clicks a row, you'd issue a request to get the data for that specific row. Client/Server stuff often pulls everythign into memory when you open the tables. That is way to inefficient for remote services.

 

If your app IS more of a traditional client/server app, they're you're going to need to re-do the forms and logic that's used to populate the forms, rather than relying on the underlying DB-aware components.

 

There are some provider components that you can replace your existing ones with that add some level of intelligence to the underlying data management without needing a lot of rework on your part, but that would be more of a stop-gap IMHO. 

 

Another approach you can use retains the current providers but you'd want to lean more heavily on SQL and stored procs. If you plan it out correctly, the stored procs can be replaced by API calls to a back-end service with endpoints that call the same stored procs.

 

Whatever approach you take, you MUST get away from the traditional client/server practices that simply open the tables and load the entire dataset into local memory.

 

 

Share this post


Link to post

Thank you so much David Schwar, Die Hollander

I'm really so sorry i missed to mention my DB,  which is FB3

As far as i understand Azure fits to me, but i dont know if Firebird will be problem ?

Share this post


Link to post

I think you will have to buy VM. Linux or Windows is your choice

Share this post


Link to post
4 hours ago, Henry Olive said:

I'm really so sorry i missed to mention my DB,  which is FB3

As far as i understand Azure fits to me, but i dont know if Firebird will be problem ?

We're finally getting some details to offer more pointed answers: You use Firebird from a VCL application and want to access data from a cloud. Then just install FB on a cloud-based VM, open up a port through the firewall, and change the connection from your VCL app to point to it and you're done. Yes, I've done this and it works and yes, you can use a VM in Azure.

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

×