locked
Sync Services Newbie. Point me in the right direction? RRS feed

  • Question

  •  

    I create data collection applications on Mobile Devices for field biologists.  The biolgists need to sync thier field data with a local database upon returning from the field, which eventually ends up in a giant master database.  I am planning on using sqlce as my mobile database and am trying to get a grasp of what my synchronization options are.  Here are some of my questions.

     

    1.)  Can I use sync services to sync between two SQL Compact databases (one on mobile device, one as backend of desktop application)?  The reason I like this option is because SQL Compact is free, light weight, and easy to deploy. 

     

    2.) If not, is my only option to use SQL CE to SQL Server 2008?  I guess this would mean I would have to install SQL Server or SQL Server Express (assuming this is supported) on each of the field computers right?

     

    3.) In a perfect world, I would have the mobile devices (Pocket PC's) sync with a central SQL Server 2008 database over the web. I'm wondering how big or difficult of a project would this be, say on a scale of 1-10.  Keeping in mind that these are relatively simple straight forward data tables.

     

    Any feedback to get me started in the right direction would be greatly appreciated!

     

    Thanks!

     

    Mike

     

    • Moved by Max Wang_1983 Friday, April 22, 2011 8:36 PM forum consolidation (From:SyncFx - Microsoft Sync Framework Database Providers [ReadOnly])
    Saturday, February 16, 2008 9:01 PM

Answers

  • Hi Mike,

     

    Here are responses to your above questions.

     

    1) Not with Sync Services.  Sync Services is made up of a client and server provider.  The client provider definitely supports SQL Compact.  The server provider does not currently support SQL Compact.  We are working on expanding the Peer provider (of Sync Services for ADO.NET) to support this type of scenario, but it is not currently available.  In the meantime, you might want to take a closer look at the Microsoft Sync Framework which might be better for you in this scenario?  It enables data collaboration and you could fairly simply integrate two SQL Compact databases.  Since the Peer provider of Sync Services for ADO.NET is built on top of the Sync framework, once we have a provider it would not be hard to swithc your out with ours once you are ready.

     

    2) Please see last response.

     

    3) Yes, this type of thing should not be very difficult to implement.  I highly recommend that you take a look at our Offline Data Synchronization webcast titled "Introduction to Sync Services for ADO.NET and the Visual Studio Designer".  I believe that has all the information you would need to start building this type of solution.

     

    Hope that helps.

     

    Liam

    Monday, February 18, 2008 5:25 PM

All replies

  • Hi Mike,

     

    Here are responses to your above questions.

     

    1) Not with Sync Services.  Sync Services is made up of a client and server provider.  The client provider definitely supports SQL Compact.  The server provider does not currently support SQL Compact.  We are working on expanding the Peer provider (of Sync Services for ADO.NET) to support this type of scenario, but it is not currently available.  In the meantime, you might want to take a closer look at the Microsoft Sync Framework which might be better for you in this scenario?  It enables data collaboration and you could fairly simply integrate two SQL Compact databases.  Since the Peer provider of Sync Services for ADO.NET is built on top of the Sync framework, once we have a provider it would not be hard to swithc your out with ours once you are ready.

     

    2) Please see last response.

     

    3) Yes, this type of thing should not be very difficult to implement.  I highly recommend that you take a look at our Offline Data Synchronization webcast titled "Introduction to Sync Services for ADO.NET and the Visual Studio Designer".  I believe that has all the information you would need to start building this type of solution.

     

    Hope that helps.

     

    Liam

    Monday, February 18, 2008 5:25 PM
  • Thanks Liam!

     

    I watched that demo and came away extremely impressed. I have been waiting for a straight forward sync solution for years and have always been suprised how difficult it was.

     

    Since you obviously are a "Sync Guru" I was hoping you could give me your professional opinion on how to best approach my particular solution.

     

    Basically, I have about 5 remote field locations.  At each location biologists will be collecting data on Pocket PC's (with a SQL CE database). Upon completing thier data collection for the day they return to a "field house" (with internet connectivity) where they would sync thier data with a local database.  It is very important for us to be able to summarize that data shortly after data collection.  So, what I'm wondering is...

     

    1.) If I want to use Sync Services to sync between a Pocket PC (with SQLCE) and a LOCAL database, would I need to install SQL Server 2008 on each of the field computers (at a significant cost)?

     

    2.) If true, am I understanding correctly that I could also bypass installing SQL Server 2008 on all the field computers and instead have a single Master SQL Server 2008 database located on a web server? 

     

    3.) Lastly, if I wanted to come up with a way that they could easily have a copy of the database on thier local machine (to add/edit/delete/review/run reports, etc.) would the best solution be to create a second desktop application with a SQLCE backend which would in turn sync with the master SQL Server 2008 database?

     

    Am I on the right track?

     

    Thanks,

     

    Mike

     

     

     

     

     

     

    Wednesday, February 20, 2008 1:48 AM
  • Hi Mike,

     

    I am glad to hear you found the demos helpful.

     

    To answer your questions.

     

    1) This is a tougher question to answer then you might think.  :-)  As of today, we do not have Sync Services for ADO.NET support on Windows Mobile.  However, we are just finalizing testing of a CTP of Sync Services for ADO.NET on devices (Windows Mobile) that we hope to post in the next week (watch the sync blog for a post on this soon).  I will caveat this with the fact that Sync Services for ADO.NET on devices will initially only support the N-Tier scenario (as you saw in the demo) and not a two tier scenario as I think you want to implement here.  As such, you "could" potentially add a web server to each of your desktops, but I highly doubt you would want to go through this complexity. 

     

    2) Yes, I think this will be the best route for you.  If you have one central SQL Server database server all of your windows mobile and desktop SQL Compact databases could synchronize to this central sql server database using a N-Tier implementation.

     

    3) Yes, I think based on what we have now and what we will have for you in the next week or so, I do think it would be best to have a second SQL Compact database on the desktop which also synchronized to the central server. 

     

    I hope that helps.

     

    Liam

    Wednesday, February 20, 2008 5:35 PM
  •  

    Dooooh. I just assumed this would work on Windows Mobile.  I will DEFINITELY keep a look out for the Sync Services for ADO.NET on devices.  Can I expect the same ease of use (i.e. intergration into VS 2008) as the regular ADO.NET Sync Services?  Thanks for all your feedback!

     

    Mike

     

     

    Thursday, February 21, 2008 5:19 PM
  • In this CTP release, we will only be including the software bits required to support Windows Mobile.  Since VS will not have Designer support for this CTP, it will not have the "Wizard Like" functionality to easily set this up, however you will certainly be able to do all of your development from VS. 

     

    I think you will find that the logic used to support Sync Services for ADO.NET on Win32 is virtually identical to that of Windows Mobile which means you can certainly use the Designer to build a Win32 version of your app (to get started) and then simply take that code and move it to a Windows Mobile project.

     

    Oh, and we also plan on including a sample that would be useful as an alternate way of getting started with Sync Services for ADO.Net on Windows Mobile.

     

    Liam

    Thursday, February 21, 2008 5:29 PM
  • Liam,

     

    I've looked throught the references provided and didn't see any thing new posted lately. I'm working on personal application that will have a PC module and a Window Mobil module that need to use a two tier scenario for syncronization. Some of the people that might use this will be technology challenged and needing to install and configure IIS and SQLServer just isn't an option.

     

    That being said, do you have any idea when two tier synchronization will be available? As might be implied from the above the code on the PC would be the "master" and would control the syncronization process.

     

    Thanks,

    Dave

    Monday, April 28, 2008 12:18 AM