2010-05-24 10 views
5

Ho bisogno di mettere a punto un prototipo/dimostrazione di applicazione prototipo molto veloce da presentare a qualcuno entro i prossimi due giorni, quindi ho il tempo minimo per effettuare una ricerca completa come normalmente lo farei. Il set-up è un'applicazione di database molto semplice che gira su un laptop - sarà sempre un singolo utente che aggiorna un paio di tavoli quindi stavo pensando di far saltare un'app di Win Form di base contro SQL Compact. Le schermate di modifica della griglia dei dati generate automaticamente da Visual Studio andranno bene con un po 'di personalizzazione. Il secondo aspetto è quindi aggiungere un'applicazione client mobile Windows in grado di estrarre i dati da entrambe le tabelle memorizzate sul laptop, modificare alcuni dati e inserire alcune righe aggiuntive prima di inviare le modifiche alla copia del laptop del database.Sincronizzare i dati tra un'app desktop Windows e l'app client mobile Windows

Non ho ancora sviluppato WinMo, quindi quale è l'approccio migliore da seguire. È abbastanza facile sincronizzare i dati tra i due database quando il dispositivo WinMo è collegato al laptop con USB?

La maggior parte degli esempi che ho visto finora sembrano sincronizzare SQL Compact con SQL Standard utilizzando IIS che sembra un po 'eccessivo. I volumi di dati da sincronizzare sono così piccoli che posso facilmente scrivere del codice di sincronizzazione manuale se per me è facile interrogare/aggiornare il DB compatto dall'applicazione portatile quando il dispositivo è connesso.

Edit:

ho visto menzione che una soluzione semplice e veloce è quello di utilizzare RAPI - quando il dispositivo è collegato copia del DB al computer portatile, collegare e fare la magia necessaria e quindi copiarlo di nuovo a il dispositivo. Qualche problema con questo approccio? Si tratta di un singolo utente portatile con un singolo utente di dispositivo mobile per la sincronizzazione, quindi è roba piuttosto di base. In ogni singola sincronizzazione il volume degli aggiornamenti è probabilmente inferiore a 10 record.

risposta

5

Dai uno sguardo allo Microsoft's Sync Framework. Sono disponibili esempi di synchronizing SQLCE e contact data. Il Sync Developer Center page ha anche un sacco di informazioni.

Cercare di farlo manualmente non è divertente. Sembra facile, ma una volta entrati in situazioni come il rilevamento delle collisioni, la precedenza, le transazioni, la consegna garantita e un sacco di altre cose, scoprirai che non è così semplice come potresti pensare.

EDIT

Se lo scenario è veramente così facile come dici tu (vale a dire che non è proprio una sincronizzazione, ma una copia dei dati) allora sì, RAPI is probably the easiest mechanismse ActiveSync esiste ed è accettabile come parte della soluzione. È bello perché non devi scrivere l'infrastruttura di trasporto e se ciò che è nella casella non è sufficiente, puoi sempre scrivere custom RAPI extensions.

+0

Grazie, in questo caso specifico, è davvero abbastanza semplice da eseguire manualmente: potrei eseguire la sincronizzazione con 2 semplici query se è abbastanza semplice ottenere l'app per il portatile per connettersi al DB sul palmare o viceversa, ma lo farò dai un'occhiata a quell'esempio –

Problemi correlati