0

I have a program that helps salesmen design and price products. The pricing information for the program is held on the server in a SQL database and accessed with a dataset as normal.

My program will therefore run if the user is connected to the network, but when the salesmen go off site (as salesmen are prone to do) they lose access to the database.

The server instance is professional, but the salesmen will only get an express edition. While I can use push replication to send the information from the server to my laptop in SQL Server Management Studio, I have no idea how to make this work across everyone's installations from visual studio.

I'd appreciate any links to articles I should read to learn more as well as any direct solutions.

Many thanks!

Jolrath
  • 1
  • 1
  • Have you considered one obvious solution is to equip each laptop with a VPN client and connect back to the main server. – peterG Jul 05 '16 at 09:58
  • This question is probably too broad for SO's Q&A format. But one technology you could investigate is Microsoft's [Sync Framework](https://msdn.microsoft.com/en-us/library/ee617382(v=sql.110).aspx). This allows you synchronise SQL Server Compact/Express, on the local machine, to your full SQL Server, on the server. There are a number of tutorials on [msdn](https://msdn.microsoft.com/en-us/library/ff928494(v=sql.110).aspx). – David Rushton Jul 05 '16 at 10:11
  • Thank you both. We already have a VPN set up and that will be my short term solution. Unfortunately our salesmen are frequently without internet access at which point that plan falls down. I am now reading up on the sync framework... – Jolrath Jul 05 '16 at 11:01
  • Some anecdotal experience. When our client's salespeople update each morning (often via phones), the software calls a procedure on the server database (DB2 on AS400), which creates and downloads text files. Those files are then uploaded to a local Access database (wiped and rebuilt each time). It contains all the products, order history for their clients and complex pricing guides they can tweak in the field. They can send in orders whenever they connect again. It's not at all elegant, but it was designed 15 years ago and does what they need. Don't discount an old-fashioned way. ;) – topshot Jul 05 '16 at 13:17

1 Answers1

0

Do you only need this princing information (you're writing 'bout one dataset) then one way would be to just save this Dataset (or 2-3 datasets) as XML on the salesmens Laptop. If you have no connection, you read the XML and inform the user, that he's working offline.

Now this only works, if you do not need to write back the data and there are not thousands of records.