2

Here is my problem, I have a task to create an android app to display data from our SQL server, the problem is our SQL server is not online.

We have a MySQL server too, the MySQL server is online, so I came up with the idea to mirror data on SQL server to MySQL, because our SQL Sever is not online, I have to use another computer to connect to both server.

What is best practice to do this? Thanks.

EDIT: SQL Server computer is in our office, but I can't touch it, MySQL is in a web hosting, the computer that I want to use to bridge the two server is online but with dynamic IP.

1

My idea is simply save your query result to SQLite db, then upload it to your hosting, also add method to check if the db has changes, if yes then on your android download it, this method is suitable for db with minimal changes.

  • this is suited for me – SIRS Jun 17 '16 at 3:36
3

Use an ETL tool.

You can start with Pentaho Kettle http://community.pentaho.com/projects/data-integration/ which is in my opinion the best open source ETL tool available. Create a transformation, save it, and schedule it.

  • I will check it – SIRS Jun 8 '16 at 2:20
3

Dynamic IP doesn't mean it's offline.

If your server connected to internet even with dynamic IP, use Dynamic DNS service like dyndns.org, and your android apps still can connect to your server.

It's much simpler than having two server that need synchronization

And the best practice for android app is to connect to a web service, not connect directly to a database server.

Addition to your edit:

You can run web service on your "bridge" computer. Your android app can connect directly to the web service, and the web service can connect to your sql server. You don't need mysql at all.

  • 1
    let me explain it more, we have computer A, B, C, A is SQL server that does not connect to internet, B is MySQL server on a hosting, C is a computer that connect to A and connect internet with dynamic IP, with this computer I want to bridge the two computer. – SIRS Jun 8 '16 at 2:27
  • With DDNS service, your android can connect directly to C. You have to build web service in C. C will connect to A. – Tantowi Mustofa Jun 8 '16 at 2:42
  • C is not always online, the data is not regularly updated too. – SIRS Jun 9 '16 at 3:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.