Client Server application Development

Posted on 2008-02-12
Medium Priority
Last Modified: 2013-12-17
I am developing an application to synchronise data between remote MS Access 2003 databases and SQL Server. I read data into a dataset, and then update SQL from that. The problem is that some of our WAN connections are slow, and doing this from a single program is not effective. I believe that the best solution would be to develop a 'server' application to install at the remote sites that will get the dataset, and then pass this back to the central 'client'. Similarly, with updating the other way, the 'client' getsthe dataset and passes it to the 'server' which updates the local database.
1. Is my thinking correct, or is there a better way of doing this ?
2. I haven't a clue how to write client / server code - are there any samples that I may use as a guide ?
Question by:philcexpert
  • 3
  • 2
LVL 54

Expert Comment

by:Vitor Montalvão
ID: 20874856
Did you think about doing that without developing? Use only SQL Server features? Like Import data?

Author Comment

ID: 20875439
It will probably require development, unfortunately. Our remote data is a derivitive of the Server Data (4 tables on the server manipulated into 1 on remote), and I am not pulling the entire table. In the app I've written so far, I get key data into a dataset, and then compare it with selected tables on the SQL server, building up a dataset to transfer back to the remote site only of what is new ( not in the original dataset ).

I'm sure it could be done quite successfully by importing the data and then running stored procs against it to achieve the same, but this will also use a lot more network traffic, which is slow.
LVL 54

Expert Comment

by:Vitor Montalvão
ID: 20875645
Your solution looks good. To increase speed and performance check if source tables have the indexes that you need.
There's no secret about Client/Server application. Just create a .EXE application and distribuite it to clients machines.

Good luck

Author Comment

ID: 20875721
Thanks. Are you sure a C/S Solution would not be better ? I ran the app from home, where I have a network traffic monitor, and the network was frantically busy while SELECT'ing into my DataSet. Sure, I agree that indexes would reduce this as well as speed it up, but I cannot get it out of my head that getting the dataset locally, and then sending it back to the client would still improve speeds.
LVL 54

Accepted Solution

Vitor Montalvão earned 1500 total points
ID: 20875764
No. It's better to let Server do all work.
To reduce traffic you must bring only the data you need. Not more columns and not more rows. Only what you need.

Featured Post

Train for your Pen Testing Engineer Certification

Enroll today in this bundle of courses to gain experience in the logistics of pen testing, Linux fundamentals, vulnerability assessments, detecting live systems, and more! This series, valued at $3,000, is free for Premium members, Team Accounts, and Qualified Experts.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Native ability to set a user account password via AD GPO was removed because the passwords can be easily decrypted by any authenticated user in the domain. Microsoft recommends LAPS as a replacement and I have written an article that does something …
Audit trails are very important in any system to hold people responsible for certain transactions and hold them to take ownership of their actions. This article is dedicated to all novice "Microsoft Access" developers.
The Relationships Diagram is a good way to get an overall view of what a database is keeping track of. It is also where relationships are defined. A relationship specifies how two tables connect to each other. As you build tables in Microsoft Ac…
Hi, this video explains a free download that you can incorporate into your Access databases, or use stand-alone for contact management. Contacts -- Names, Addresses, Phone Numbers, eMail Addresses, Websites, Lists, Projects, Notes, Attachments…

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question