Non so chi di voi su è imbattuto nell’esigenza di far funzionare le repliche di sql 2005 ME e MSDE. Il tutto fila via abbastanza liscio, sempre avendo chiare tutte le componenti, se non si considera le imcopatibilità (almeno attuali) di alcuni componenti.
Io sono riuscito a far funzionare il tutto per il meglio SOLO SOLO SOLO con l’sp3a di MSDE. Per quanto riguarda il service pack 4 (SP4): No Way! Non c’è verso di far funzionare i relativi replication components.
Ci sono moltissimi post in rete e nessuna attuale soluzione: vi sconsiglio di usarli per ora.
(BTW: l’errore che si ottiene anche avendo installato i replication components SP4; il messaggio riportato è che i compoennti non risultano installati, anche se evidentemente ci sono)
Per qualche conferma: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=89751&SiteID=1
Ok, per mettere impiedi il tutto, per quanto riguarda la parte server, dovete installare prima di tutto
Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) Release A – Sp3a occhio ai vari parametri da dare da command line, es: setup.exe SAPWD=”Password” SECURITYMODE=sql, io ho notato che alcune volte usare il file .ini non funziona a dovere, anche partendo da un winXpPro appena installato). Se avete problemi, usate l’opzione per avere un po’ di log dell’installazione lanciando gli switch /L*v C:MSDE_setup.log
Successivamente dovete eseguire Microsoft SQL Server 2000 Replication Components, che servono per abilitare le repliche lato SQL (il componente c’è già su SQL server 2000, ma manca su msde).
Si può trovare sotto C:ProgrammiMicrosoft Visual Studio 8SmartDevicesSDKSQL ServerMobilev3.0sql2kensp3a.msi o scaricandolo da MS
Il passo successivo è Microsoft SQL Server 2005 Mobile Edition Server Tools. Questi componenti sono fondamentalmente un’estensione web per permettere la sincronia dal palmare verso sql. Di fatto il device si connetterà via HTTP all’isapi installata, la quale si preoccuperà di invocare il reconciler per la replica.
Questo componente si trova sotto C:ProgrammiMicrosoft SQL Server90ToolsBinnVSShellCommon7IDEsqlce30setupen.msi nel caso abbiate installato la il Management studio di SQL (l’enterprise manager nuovo per capirci).
Ora, per completare il tutto vi manca la configurazione delle repliche, per le quali però vi rimando a qualche articolo che io ho trovato interessante:
https://secure.codeproject.com/database/MergeReplication.asp
Attenzione alla gestione degli Identity!!!! Cosa che io avevo inizialmente sottovalutato: in due parole, ogni subscriber della replica deve avere assegnato un suo range di ID, altrimenti al momento della replica le chiavi vanno in conflitto. Per fare ciò dovete:
- impostare una policy automatica di gestione degli id
andando ad agire sugli “articoli” della replica (dovete farlo quando configurate la replica specificando gli articoli da pubblicare) - oppure gestirli manualmente
http://www.sqlservercentral.com/columnists/pibison/
mergereplicationmanualrangehandling.asp - oppure ancora (consigliato!) utilizzare i guid così il problema si risolve alla radice.
Per ulteriori approfondimenti vedete questo articolo MS: Replicating Identity Columns
Infine dovrete configurare, tramite l’apposito wizard “Web Synchronization Wizard”, la parte server di sql 2005. Il tutto è guidato e semplice, occhio solo a non fare avanti e indietro le wiszard che a volte si impasta. Se vi da errore, è meglio chiuderlo e riaprirlo.
Su questo punto, io vi suggerisco di abilitare l’autenticazione al servizio, magari creando un’account apposito sul server: questo vi consente di limitare l’accesso alle repliche, che male non fa.
Spero che con queste info qualcuno si risparmi un po’ del suo tempo, per quanto mi riguarda è stato un bell’investimento, soprattutto per i problemi riscontrati. Per fortuna alla fine tutto funziona 😉