I am building a new Xojo WebApp database program for medium to large organisations. I want it to be able to download and install from a Zip file and run with a double-click. I can get the WebApp to launch the other apps (like CubeSQL), create the database and all tables on start up. I was thinking of using PostgreSQL, but there are lots of user steps to install, configure listening, configure IP ranges for access, etc.
Is CubeSQL a solution for this? Can it be set to install and run automatically without any user input? If the client needs to place a CubeSQL licence key in via the web browser that’s OK.
Medium or large organisations will have IT stuff who know how to install a database/server. Some knowledge on maintenance is required anyways. How do you want to do the user management without a DBA? Change the cache or similar settings for the database?
i don’t think you can install the db server without any user input but you certainly don’t need a DBA to install and maintenance the cubesql db server.
I use PostgreSQL normally and you need to download it for your particular Linux system, install it, set the permissions on the files/folders to access the configuration files (CentOS 7), set it to listen remotely, set up the range of IP addresses that can access it, reset the permissions back else PostgreSQL won’t run (CentOS 7!), set up a non-default username and password, set up the SSL certificate, set up PgAdmin to administer it, create the database, assign the new user role access to the database and test you can connect to the database remotely with the new user credentials. This is all before you have created a single table! For this reason I tend to set up a preconfigured VM for customers and manage it for them.
If I can create an SQLite database with much of this preconfigured and install it along with CubeSQL to install on startup, then I could solve 90% of the above steps.
I think cube sql could be installed by script or even by app. Beside the port for the firewall you wont need much setup. Just a folder with app and data files.
Your app could launch it with Shell class to start it.
[quote=365094:@David Cox]I have found that is not always the case.
If I can create an SQLite database with much of this preconfigured and install it along with CubeSQL to install on startup, then I could solve 90% of the above steps.[/quote]
What i do for window server is the create ACMSSERVER/ARTSCENESERVER on my client’s server ( can be someone machine if they don’t have a proper server) and one of the folder will be CubeSQL folder with everything related to cubesql.
I then use command prompt with admin right and put this command “sc create CubeSQL binpath= [your cubesql path for cubesql.exe]”
next i go to services and set CubeSQL to run automatically after rebooting the machine.
third is to make sure the port 4430 for UDP and TCP for inbound traffic is setup in the firewall.
next, start the admin program fro cubesql and set the path for the data file is located and also path for backups and restores too… also remember to set up the schedule for backing up.
finally attach the backups schedule to your database.
register the database with the serial no and name.
Now, put the sqlite db into the databases folder you have setup in the admin and you are ready for the server/multiuser version.
(ps of course you need to change the code to read the cubesql database instead of the sqlite)
[quote=365065:@David Cox]I am building a new Xojo WebApp database program for medium to large organisations. I want it to be able to download and install from a Zip file and run with a double-click. I can get the WebApp to launch the other apps (like CubeSQL), create the database and all tables on start up. I was thinking of using PostgreSQL, but there are lots of user steps to install, configure listening, configure IP ranges for access, etc.
Is CubeSQL a solution for this? Can it be set to install and run automatically without any user input? If the client needs to place a CubeSQL licence key in via the web browser that’s OK.[/quote]
If you’d like to try the XDSSQLDatabase controls in your project to see if they might suite you, I’d be glad to send you a copy. Basically, they act just like CubeSQL, but you can embed the SQL server directly into your web app or desktop app, and it runs on it’s own port, handling data requests. I also have XDSPOP3Server, XDSSMTPServer, and XDSIMAPServer (w/ class for IMAP connections) for embedding (great for custom spam filtering or ‘script-piping’ email directly to a method handler!!!). Send me a PM and I’ll send the code along.