Jag har fått i uppdrag att forska lite kring synkronisering av databaser.
Det som vi vill uppnå är att det skall finnas en huvudsqlserver, men man skall kunna arbeta ej uppkopplad mot sql servern. Ett alternativ som jag ser då är att klienten har en databas på sin dator exempelvis en sql server express.
Vad skall jag tänka på när jag implemmenterar denna synkronisering?
Jag har idag NHibernate som datalager.
Jag vet att NHibernate har versionshantering som man ganska enkelt kan lägga på. Någon som har lite bra länkar, eller eventuellt något boktips?
Jag hade ju självklart bara kunnat sätta mig ner och göra efter hur jag tycker det skulle fungera men jag vill ha lite best practises :).
Jo det var just den länken jag hittade när jag skummade igenom texten så hittade jag detta
ADO.NET introduced a set of disconnected objects that allows you to examine data offline after fetching it from the server. The key to this model is the DataSet object, which encapsulates a host of other disconnected objects like DataTable, DataColumn, etc. Synchronization Services for ADO.NET extends this model by providing a persistent cache on the client. With the data stored on disk on the client machine, the client can examine the data and make modifications while offline and between application restarts. Changes to the data on the client and server are tracked by means of database triggers or through built-in support, as is the case with SQL CE. By using the Sync Services API, incremental changes made on the client and server are exchanged to bring the client cache in sync with the server. The diagram above shows the different components of the sync framework. Below is a brief description of each component:
Jag har fått i uppdrag att forska lite kring synkronisering av databaser.
Ta en titt på replikeringen som är inbyggd i SQL Server, den är ju gjord för att replikera/synkronisera data mellan olika databaser.
En sak som man måste hålla koll på när det gäller synkroniseringen mot databaser som är offline, är nycklarna. Om du har en vanlig Identity fält så kan de ju bli problem om 2 offlinedatorer fått samma identity nyckel. Så om du skall lösa det i kod, så hålla koll på det eller använd GUID som nycklar så slipper du det problemet.
- M
268 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25