5 messaggi dal 19 marzo 2002
Ciao a tutti.
Mi sto imbattendo in un problema interessante che spero sia di stimolo anche ad altri.
Ho la necessità di sincronizzare due database, uno online e uno in ufficio nella maniera più automatica possibile. In particolare i dati modificati dagli utenti online devono essere riportati su un nostro database (non è altro che una versione più completa di quello pubblicato) e viceversa: i dati che modifico devono essere riportati online.
Tutto questo, ovviamente, senza perdita di informazioni tra un aggiornamento e l'altro (dobbiamo ancora decidere come comportarci in caso di concorrenza di modifiche). Non ho la necessità di un aggiornamento in tempo reale, ma ho bisogno che il processo non sia troppo complicato.
La mia idea è quella di far lanciare un batch quando si vuole aggiornare il database in ufficio, che scarichi un file dal sito contenente le ultime modifiche e aggiorni di conseguenza (questo non dovrebbe essere complicato). Il difficile è l'opposto: ancora non ho avuto l'ispirazione giusta e spero, anzi, di trovare un aiuto qui!

Grazie!
14 messaggi dal 12 aprile 2002
Prima cosa sarebbe interessante sapere il tipo di database che utilizzi.

Potrei presupporre access oppure Sql server.

In questo caso sappi che supportano la replica, e questo significa che basta farli comunicare e ci pensano loro a scambiarsi i dati modificati.

Io ho creato un programmino in VB.NET che non fa altro, tramite JRO, che avviare la replica tra due db access....

Per maggiori info vai nel MSDN cercando proprio JRO o replication e trovi la documentazione su come implementare la replica.

5 messaggi dal 19 marzo 2002
Grazie, non sapevo fosse possibile utilizzare questa funzionalità anche con access.
L'unico problema sarà convincere l'ISP a installarsi il Microsoft Replication Manager, o al massimo trovarne un altro che lo supporti.

Ciao
14 messaggi dal 12 aprile 2002
Non ti serve.

Devi creare un database replica master con access, e poi crei la replica.

La replica o il master lo metterai sul server ed è un normale database access.

Tramite un'applicativo VB, io ho usato VB.NET, con pochissime instruzioni (credimi) potrai far comunicare i due db e lasciare che si sincronizzino da soli.

JRO o DAO supportano anche la sincronizzazione via internet per cui puoi specificare http://www.nomesito.it/nomedatabase.mdb.

Non ti serve il replication manager.
5 messaggi dal 19 marzo 2002
Allora sarà il caso che mi studi meglio l'MSDN...
Grazie ancora!
104 messaggi dal 19 maggio 2001
scusate se mi intrometto ma anche io ho lo stesso problema.
stenot, ci potresti aiutare di più. Io uso ASP 3.0 con VBScript.
Grazie.
14 messaggi dal 12 aprile 2002
Non saprei se tramite pagine asp sia possibile implementare la replica tra due db access.

La mia esigenza era con VB.NET e questo è il codice della funzione a cui vengono passati i path dei due DB.:

Private Sub TwoWayDirectSync(ByVal strReplica1 As String, ByVal strReplica2 As String)
Dim repReplica As New JRO.Replica()
Dim conn As New ADODB.Connection()
Try
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & strReplica1)

repReplica.ActiveConnection = conn
' Sends changes made in each replica to the other.
repReplica.Synchronize(strReplica2, jrSyncTypeImpExp, _
jrSyncModeDirect)
Catch e As Exception
MsgBox("Errore: Si sono verificati dei problemi durante la sincronizzazione")
Exit Sub
Finally
repReplica = Nothing
conn.Close()
End Try
End Sub

Il tutto viene fatto con JRO, ma lo si può fare sfruttando DAO; quindi con asp dovresti riuscire ad istanziare JRO o DAO.
Come vedi il codice è minimo dovresti provare a vedere con asp 3.0.
Forse con ASP.NET riesci meglio, il rischio, però, è che la pagina vada in timeout dato che su una linea lenta il tempo di esecuzione è notevole.

Spero di esserti stato d'aiuto ma non ho tempo adesso di vedere la fattibilità con asp.

Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.