Newsgroup: it.comp.www.asp
Titolo: [HELP] Urgente: Sincronizazione Database

Salve,
Sto realizzando un progetto in ASP e mi trovo nella necessità di dover
sincronizzare un database presente in rete presso il mio ISP con uno
locale. L'aggiornamento dovrebbe essere bidirezionale (e questo, insieme
alla mole del database, esclude l'FTP), ma al momento non so come
realizzarlo, per cui qualsiasi idea sarà benvenuta. Il database è
realizzato in access.
Grazie a tutti.
P.S. Scusate il repost ma è davvero urgente
esp...@LEVAMI.iname.com
 
Per rispondere togli LEVAMI.

Anch'io ho studiato lo stesso problema perchč tra poco mi dovrebbe servire
una soluzione del genere.
Ma l'unica soluzione che ho trovato č di creare due pagine ASP, una sul
server e una locale che si puntino a vicenda passandosi i dati con un form
POST e che una volta passati i dati lo comunichino ai db ad esempio mettendo
un campo bouleano (si/no) con intestazione "sincronizzato".
Questa era la mia idea, se ne hai altre fammele sapere, mi raccomando!!!!
Simone
sim...@sisco.it

 POST 
Scusa se mi intrometto,mi puoi spiegare meglio la precedente frase ?
In particolare cosa vuol dire "che si puntino a vicenda" ....
Grazie 
Antonio Passaro
--
Posted from 
mailbari.olivettiricerca.it
 [193.76.87.205]
via Mailgate.ORG Server - 
http://www.mailgate.org

Hai ragione, era un po' contorta.
Intendevo dire che quando devi aggiornare i dati da locale a remoto esegui
una pagina ASP in locale che estrapoli tutti i dati variati nel DB locale e
li invii tramite il method post ad una remota che aggiorni il DB remoto.
Lo stesso al contrario vale per l'aggiornamento da remoto a locale.
Spero di essere stato un po' piu' chiaro..... altrimenti sono sempre qua !
:)
Ciao
SImone


 Questa era la mia idea, se ne hai altre fammele sapere, mi raccomando!!!!
Io avevo pensato, per una sincronizazione a livello di record e non di
singolo campo, alla possibilità di far scrivere (in locale ed in remoto) su
un file di testo tutte le query di insert, delete e update effettuate e
quindi una volta scambiatisi i file, leggere riga x riga e rieseguire le
query. Il problema principale a tale soluzione è che non so come si
comportino le ASP in caso di un tentativo di scrittura contemporaneo di 2 o
piu utenti sullo stesso file.

 piu utenti sullo stesso file.
La soluzione piu' funzionale anche secondo me.
A mio avviso non dovresti avere problemi, del resto e' una tecnologia
sviluppata per la rete. Discorso diverso e' se in 2 cercano di accedere allo
stesso record.
Saluti.
Stefano.

 Lo stesso al contrario vale per l'aggiornamento da remoto a locale.
ecco,e' proprio questo che non capisco...
Come fa una pagina ASP eseguita in locale,su una macchina client
non visibile nella rete ad inviare dati ad un'altra pagina ASP su
un server...
Mi puoi spiegare con qualche esempio...
Grazie e saluti.


un server...
Se sei collegato ad internet la tua macchina e' visibile dalla rete
altrimenti come faresti a navigare: in realta' ogni volta che ti colleghi ti
viene assegnato un indirizzo IP ed in quel momento la tua macchina e' del
tutto simile a quella di qualsiasi server.
Non ho seguito tutto il discorso ma in linea teorica e' possibile creare una
pagina asp, che sta sulla tua macchina locale che deve ad esempio disporre
di un PWS, che quindi si compila prendendo i dati da un database locale:
questa pagina ha una form che fa un post sul server remoto mediante un'altra
pagina asp che risiede appunto sul server locale.
Giorgio Leonardi

 
ecco,e' proprio quest'ultima frase che non capisco....mon puoi
accennarmi
un piccolo esempio ...
Grazie...


un piccolo esempio ...
Non ho esempi sottomano anche perche' lo sto vedendo piu' dal punto di vista
teorico che pratico, nel senso che non ho mai avuto bisogno di realizzare
niente di simile.
Comunque il file locale (ad esempio in weblocale/paginvia.asp) contiene al
suo interno una form che potrebbe iniziare con (
dominio.it
 sara' quello del
server remoto):
<form ACTION="
http://www.dominio.it/aggiorna/riceviAgg.asp
" method="Post"
name="inviaAgg>
e contenere righe del tipo:
<input NAME="Campo1" value="Valore1>
che vengono costruite dal tuo asp leggendoseli dal db locale.
Quando ti appare la pagina spingendo il pulsante di submit (potresti
scriverci sopra ad esempio: invia aggiornamenti)  e viene eseguita la pagina
riceviAgg che legge, mediante post, i contenuti della tua form e puo' usarli
per aggiornare il db remoto.
La tecnica deve ovviamente essere perfezionata: ad esempio se ci sono piu'
record da aggiornare puo' creare un'unica form creando vettori di campi
input, oppure puoi creare piu' pagine ed inviare un record alla volta, ecc.
Giorgio Leonardi


Se cercano di modificare contemporaneamente lo stesso record intendi?
Si dovrebbe risolvere mettendo la chiamata alla procedura di scrittura su
disco dopo l'esecuzione della query sul db e solo se questa ha avuto
successo. 
Ho provato a fare una prova per vedere come si comporta il filesystemobject
con richieste di scrittura da parte di 2 utenti sullo stesso file e sembra
funzionare (!!).
In pratica ho realizzato 2 pagine asp con un ciclo che scrive per 10000
volte sullo stesso file. Ho poi chiamato una delle 2 pagine con IE4 e
l'altra con NS4 dallo stesso computer con un server PWS. Il risultato è che
la seconda pagina chiamata ha aspettato che la prima finisse di lavorare
sul file e lo chiudesse prima di scriverci sopra. A meno di casi
particolari (timeout dello script mentre aspetta che il file si liberi o
tentativo di scrittura assolutamente
contemporaneo da parte di 2 utenti) mi sembra che il tutto possa
funzionare.

 per aggiornare il db remoto.
ecco: cosa vuol dire "legge, mediante post, i contenuti della tua form"
,
come si fa' a leggere "i contenuti della mia form" ...
Un'ultima domanda: con la tecnica che mi stai insegnando e' possibile
fare
il contrario:cioe' aggiornare il mio database locale leggendo il
database remoto ?
Grazie e cordiali saluti


database remoto ?
Il problema maggiore e' come fare in modo che la pagina in remoto riesca ad
attivare una pagina che si trova sul tuo server: il problema e' che quasi
tutti i provider usano un indirizzamento IP dinamico per i loro abbonati e
quindi ogni volta che ti colleghi quel valore puo' cambiare e questo crea
dei problemi: dovresti verificare con che ip ti sei collegato e fare una
pagina asp a cui passi come parametro questo IP perche' nel costruire
l'indirizzo da chiamare nella form dovrebbe metterci quello.
Ammetto di non aver mai provato una cosa del genere e quindi quello che ho
detto qui sopra per quel che mi riguarda e' soltanto a livello teorico.
Giorgio Leonardi

detto qui sopra per quel che mi riguarda e' soltanto a livello teorico.
Io penso che non ci dovrebbe essere nessun problema al riguardo, l'unico
limite e' che non e' possibile portarsi dietro tra un server e l'altro
variabili di sessione e di applicazione, ma per il resto mi pare che sia
tutto fattibile.
ciao
Simone

 wrote in message
01beb356$432c7920$LocalHost@EDO...
...........


> Vorrei sapere se qualcuno di voi (e soprattutto i moderatori) [...]
Vorrei chiarire che i moderatori non fanno di mestiere i guru delle ASP.
Anzi, il fatto che questo gruppo sia da noi moderato e' per poterne
usufruire anche noi in modo migliore e trarne i massimi benefici proprio
come vogliamo che succeda a voi.
Saluti.
Stefano.

 da far fumare le teste.
Di cosa si tratta? Hai maggiori informazioni al riguardo?
Io avevo sentito parlare del MS Office SDK che dovrebbe permettere la
sincronizazione di database Access in rete, ma non ho trovato quasi niente
sull'argomento, si tratta della stessa cosa?