Henry Olive 5 Posted November 15 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
FPiette 385 Posted November 15 There is nothing very special to the "cloud". The cloud is just a bunch of computer in a remote data center. Those computers are running an operating system, some of which are Windows and are able to run a VCL Delphi application. One solution is to use a virtual desktop solution. For example this : https://learn.microsoft.com/en-us/azure/virtual-desktop/overview Share this post Link to post
corneliusdavid 220 Posted November 15 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
Henry Olive 5 Posted November 18 Thank you so much FPiette, corneliusdavid FPiette, i'm going to review the link you sent, thank you David, i just want my VCL program to access data from a cloud thank you Share this post Link to post
corneliusdavid 220 Posted November 19 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
Die Holländer 49 Posted November 19 (edited) 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 November 19 by Die Holländer Share this post Link to post
FPiette 385 Posted November 19 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. 1 Share this post Link to post
David Schwartz 430 Posted November 19 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
Henry Olive 5 Posted November 19 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
tgbs 16 Posted November 19 I think you will have to buy VM. Linux or Windows is your choice Share this post Link to post
Die Holländer 49 Posted November 19 1 hour ago, Henry Olive said: As far as i understand Azure fits to me, but i dont know if Firebird will be problem ? How to setup Firebird RDBMS on Windows in Azure/AWS/GCP Share this post Link to post
corneliusdavid 220 Posted November 19 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