Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I'm coding a program for a small business. The application's going to be used for store-keeping and the ordering of parts for a mechanical shop. I need some type of backend to store orders, article numbers & prices, customers and so on (obviously). Right now I'm using a local MySQL server and running queries directly from the code. This is not ideal because of the risk of a system meltdown or similar. I've thought about running a local MySQL server - with a scheduled backup on a remote host, but I'm hoping there's a better solution. For previous applications I've written a PHP wrapper, and used a web hotel to host the MySQL server - Which isn't ideal either for security reasons. I suppose I should mention the application's written with windows forms in the VS .net environment(in C#). My question's this: How do I set up a MySQL server (or other type of database system) on a remote host - that I can run queries on and then return the result back to the application? Preferably I wouldn't want to handle the MySQL server myself but outsource it. I don't mind renting a server from some host - if it will spare me the hassle of setting up a local server machine to run separately. Are there any solutions that you can rent for this purpose? I'm sure there must be tons of information about this on the interwebs but I can't find anything. I would be very thankful if anyone could give me some pointers!
One way you could do this is rent a cheap VPS and host mysql in there. I have been using DigitalOcean, and it is pretty good. For your needs a $5 per month VPS would be enough.
Or you could use Azure. http://www.windowsazure.com/en-us/services/data-management/
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 1 year ago.
Improve this question
Im developing this desktop app for study reasons
but im using SQL Server for database management so reading around the web i find some articles on this and why it is bad practice, i cannot move my entire project to another PC without installing SQL Server. then i find this:
Save and load inventory
So i don't know what method of saving and loading information I need for this project, I think in SQL Lite or maybe I can use a simple file to save all the information like the mentioned post.
Im using a DB with relationships and i dont know if i can made it with a data persistence file. What should I do? what is the best practice?
PD: Sorry for my bad english
Usually your SQL Server would be hosted on a remote computer when used outside development, but it depends on exactly what your application is supposed to do.
If it's a requirement for you to be able to switch computers, and not host your database on a remote server, I'd say using SQLite is a good choice.
Alternatively, you could have 1 big file that has all your data instead of a relational database, although I wouldn't really recommend it. It's good for quick prototyping of things, but all your data would be denormalized, which can end up being more effort to work with than SQL. This is what the inventory example you linked does.
If you are planing to move your application on different computers and don't want to install any database management system there then SQLite is the best option.
All of your data will be stored in one file and you can freely move your application an other PC without installing any database management system there.
Here is good article explaining that in which scenarios SQLite is good choice.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
We have a desktop application. we need to install in client pc and connect the database to remote server. which method is better to connect database (for speed and performance).
1. Normal query method (mention the server name in connection string).
2. Create a web service and get the data in xml or json format.
Both solutions will bring positive and negative points.
Direct query to server -> imply that your client software knows the Database schema. If you change the Database schema, you need to test its integration in the client app.
Web service -> a limited API allows your Database to be only known by its data web service. The client app only knows about the small web service API. When the Database evolves, you have a very low chance to negatively impact the client code.
From an architectural point of view, it is encouraged to limit the size of contracts between 2 pieces of technology.
From a development cost point of view, creating and maintaining such a service has a cost and introduces maybe the need of a new set of technical skill set in your team.
Depends on your requirement, budget and time constraint.
If there is any possibility that this desktop software would be later extended to Mobile App and other platforms, then go for Creating web services preferably with JSON.
Keeping data access layer in Client Desktop Application saves a little development time, but makes testing, re usability and maintenance harder.
Also, the trend is to use SOA, thus I'd always prefer creating Web Services. Its secure, reusable and very friendly for future modification to project.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
My employer writes intranet applications in coldfusion. I was writing a basic page that fetches sql data and saves it as a csv file, and kept thinking I would have preferred to write it in c# as a desktop application. Now, my company has reasons for using coldfusion, and reasons to continuing to use coldfusion, but I was wondering - I pulled about 50 calculated columns from 2 databases (one was oracle, the other ms sql) and saved the info as a csv file (which the end users open with excel) - Would a windows form have done this faster, or does the coldfusion code run faster (I used no client-side code)
Or, would it have been faster to just do the coldfusion portion as asp?
If you're asking desktop app vs. web app, web app will win out more times the not. Deploying code to a server that everyone can access vs. prompting users to upgrade a program on their desktop? Web wins out.
Is it faster to run a query and convert it to a CSV in web language A vs. web language B? That's trivial in any modern web language, the overhead is negligible.
If you want to argue for moving from web language A to web language B, then you have to prove the ROI in doing so. What's it going to cost to convert the intranet you have now to a different code base?
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I'm trying to create a simple multiplayer game. As I understand the main principle is to make clients communicate ether directly to each other or to the server. Since I want some game data to be available online on my website, I'm inclined to create database that users will be connected to.
Is this valid?
Is SQL/MySQL good idea to use in such scenario?
Would windows azure be any help?
Please help me. I really need some guidance here.
If you want to store game data for use on a web site, you will definitely want to store it in some sort of database. Just so you know, SQL is a querying language for databases, MySQL is a DBMS (Database Management system) that you use SQL to "talk" to.
However, you certainly don't want to store ALL of your game interaction in a database, as database operations tend to take a long time (at least as far as a computer is concerned). Your server should have some sort of socket (probably TCP) that is talking to all the clients, passing messages and so forth.
The class reading from this socket would raise events or otherwise update the database for the information you want to be displayed on your website. Windows Azure would be a perfectly valid hosting platform for the website/server app, and so would pretty much any other web hosting solution. Some of the socket code could be easier going through Azure, so that may give it an advantage when choosing your host.
Please let me know if I can provide any more information.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I am not a very experienced programmer. And I am facing technical issues in database servers.
I have developed a small standalone C# Application which is already in use.
It uses SQLite database. The database usage is not very heavy. Only a few form needs to be read and write to the database.
Now there is a requirement that it should be used on LAN.
I know that SQLite is not a good database option for client/server.
But keeping these points in mind should I change the database or not..
The application is already using SQLite and this is not a project from start.
The database usage is not very heavy. Only a few forms will be filled and data is written on the database.
At most 1-4 Pc's will be using the application simultaneously.
I had tried to install MS SQL server on my customers PC but then I am facing so many technical issues and it is taking a lot of time.
So I am thinking to stick with SQLite only.
Any suggestions will be greatly appreciated.
So is your question "Can I share a SQLite database between multiple workstations", or "How to install SQL Server"?
I'd say go with the last. SQLite even promotes the use of a client-server DMBS if you require multiple processes accessing the same database.
Installing MS SQL server can be pain; you have to ensure .NET framework is installed, windows service pack is installed and MSI has correct version. Still I would prefer going that way, because of robustness and reliability it promotes and rather write some robust installer to "make it happen".
You can of course, keep your current solution and write web service that will lock access to database to one-client & one-query at time only and rewrite your app to use this service instead of accessing db directly.
Btw. - Microsoft SQL Server Compact Edition is working similar to SQLLite (in the terms ease of install), and it allows multiple connection to the same database (.sdf file)
http://technet.microsoft.com/en-us/library/bb380177%28SQL.90%29.aspx