We have an existing SQL database which stores information which is continiously updated through a number of ways.
Now we want to launch a mobile application which uses some of the data stored in the database. However, we do not know how we can connect to this database.
Is this done via API, do some standard solutions exist?
Thank you in advance!
You app, sitting on a mobile platform (lets say a phone) would need to access the database. This will have to be over the internet, and means exposing you database to direct querying over the internet. This is not a good thing: once the database is open, then almost anyone can get to it.
The way I'd do it is put a web-based front end behind which your database can hide. You app sends an HTTP request to your web site. You can include whatever security you can dream up to authenticate that it's your app and not some random vandal. When the web site thinks it's OK, it accesses the database and returns whatever data it needs to. It might return the data as HTML, but JSON is probably better.
Related
I'm building a website to keep track of devices within my company. I was planning to keep everything "On The Cloud". I would have all the details on MS Access and store it on One Drive. I wanted to take the data from the OneDrive file, display it on the website and have the ability to edit it and save it.
Only thing is, I don't know how. Any suggestions?
Thanks
R
Have you considered the free tier of Azure App Service? Assuming you can fit your app and data into a 1 GB of space, you can get up to 10 apps for free at https://azure.microsoft.com/en-us/pricing/details/app-service/
It even supports PHP, and you could stuff the Access DB into the data directory side by side on the same disk... Alternatively, you could scale into SQLite, or even a low end SQL Server DB side by side with the web app...
I'm currently creating an SQL database that will eventually be accessed by web applications, both mobile and desktop platforms.
Setting up the SQL database is easy.
What I'm currently having trouble with is how I'm going to allow clients to access to information in the database without having direct access to the database, for security purposes.
For example, let's say I have a list of employees, and I'm creating employee profiles for a mobile application. I would like for the mobile application to be able to use a function such as get(employee_name), which will call the database and retrieve the information about the employee in the form of a JSON.
How would I go about doing this?
To see a very nice solution on using JSON on sql server tables please look at Phil Factors article Consuming JSON Strings in SQL Server at:
https://www.simple-talk.com/sql/t-sql-programming/consuming-json-strings-in-sql-server/
I have a vb.net windows form application with a database on SQL Server 2008 on the ./SQLEXPRESS instance.
I have created a setup of my project using the link below..
http://msdn.microsoft.com/en-US/library/49b92ztk(v=vs.80).aspx
When a user installs my application, the database will be available for him, and user can just export the SQL Server database.
How can I secure my database so that user shouldn't have a easily available copy of my database?
I thought of creating a new password protected server (as I have created the database in above walkthrough)... while installation of my application on user's pc, other than ./sqlexpress. And a complete copy of database used by my application will not be simply available for user to just export and get a copy of my database.
So could anyone please guide me...
The question is; how far do you want to go to protect your data?
Better protection of your data usually comes at the cost of more development time and likely less user friendliness, for example due to lower performance (encryption is not free). More complex code usually results in more support requests too.
Where the best balance is depends on your business model (if any) and on your user requirements.
Keep in mind that anything you deploy to an end-users machine is in the end vulnerable. If something is valuable enough there will be people trying to steal it.
So, you could argue that the best protection is not to deploy the data at all. You could back your end-user application with a web service and keep the data on your own server, for example in the cloud.
I've found however that you sometimes just need to trust your users. If you build a good product that makes them happy, they have no reason to steal from you. In fact, they are probably glad to pay you.
If you decide that you need to deploy the data and that you need to encrypt it, you should think about why you chose SQL Server.
What database features do you need exactly? Do you need a fullblown database server for that?
Any local admin can gain control over any SQL Server database in seconds so the built-in SQL server authentication will not bring you a lot of benefits.
You could switch to SQLServer CE and keep the database within your application. That would make the database a lot harder to access for a regular user.
If all you're doing is looking up words, you may be better off with a different storage engine like Lucene.
Lucene is actually a search engine, so it's highly optimized for matching words or parts of words.
You can run Lucene inside your .NET application so you don't even need the end-user to install SQL Server. There is a .NET version of Lucene here.
Lucene however doesn't protect your data. There's tooling available that will allow anybody to view and extract the data from the stored index files.
Since Lucene is open source though, you could extend it to support encrypted data storage (see this related question).
I have an app I'm working on that will have about 500 contacts, names, email addresses, website addresses ,etc. I will be updating the contacts frequently adding new contacts, and updating emails that change. I was advised the best way to do this with core data would be to do a fetch to find the youngest record and ask my server for all the records that are even younger.
My question is how to download the youngest record from my server and save it for use with core data.
I've looked around, but dont see anything on using core data with a database stored on a server. Or am I missing something, is there another way to go about creating this app.
I need to be able to update my database frequently and for the results to reach the app user
It Really Depends on your Server Back End Structure.
Check the Following Link for Complete understanding of the Whole Process by Following Link :
How To Synchronize Core Data with a Web Service
I have an SQL database stored in my server, and I want my iOS app to access it. It contains passwords and such, and I need the app to be able to download the contents. What is the best way of doing this? Thanks
Basically you have two options.
Firstly you can directly access your DB via HTTP requests and get the data that you want.
(Not the suggested way.)
Or you can create a Web service which communicates with your DB and acts as a layer between your app and db.You can either get the all data or the ones you want from DB depending on your Web service.