Newsgroup: it.comp.www.asp
Titolo: Aggiornamento database da off-line

Salve, il problema è quello di dover aggiornare un database con diversi
record mentre si è off-line.
Ovvero, il cliente ha il sito, con dentro un db, che deve aggiornare diciamo
una volta al giorno, inserendo però diversi nuovi record, una trentina.
Vada per la realizzazione di una sezione dedicata all'amministrazione del
sito, risiedente anch'essa sul server del sito, e protetta con tutte le
contromisure del caso: in questo modo, però, il cliente per mettere dentro
30 prodotti dovrebbe stare collegato diverso tempo.
Volevo realizzare, pertanto, un qualcosa che permettesse di aggiornare il
database stando off-line, quindi connetteri ed applicare le modifiche al db
remoto.
L'idea è quella di sviluppare un piccolo software, il quale dovrebbe
generare, ad esempio, tante query SQL del tipo INSERT INTO per l'immissione
dei dati: l'utente scriverebbe i nuovi record sul software, che genera un
file, il quale viene inviato sul server e quindi interpretato da una
routine, che esegue le varie query.
Cosa ne pensate? Avete altre soluzioni?
Vorrei evitare connessioni dirette cliente-server oppure l'utilizzo di altri
software avanzati, che richiedono diverso tempo per essere padroneggiati ed
anche diversi soldi per l'installazione!


Dirtei che la tua e' una soluzione classica che solitamente si scontra solo
con problemi derivanti dalla modifica di record e non con il semplice
inserimento di nuovi.
Io non mi ci sono ancora trovato, ma sono sicuro che prima o poi dovro'
risolvere la stessa problematica. Un amico una volta mi parlo di una
soluzione che invece si basava sulla sincronizzazione dei database (nel caso
specifico era access). Se ricordo bene i database erano 3 uno master e due
(quello dell'applicazione asp e quello off-line del cliente) slave.
Spero che qualcuno si inserisca nel thread ricordandoci conclusioni a cui
qualche tempo fa si arrivo' in gruppo sulla presente questione.
Scusate il mio ttaliano, ma stasera non riesco ad esprimiermi compiutamente.
Ciao, Fabio Zed Zamparelli

remoto.
Una procedura interessante potrebbe essere questa (però richiede che si possano
mettere le mani sul server "pesantemente"):
installare un demone che a orari prefissati va a guardare una directory
prestabilita. Se in questa dir trova un determinato file lo apre e attiva delle
stored procedures (delle insert) passandogli come argomenti i dati contenuti
nel file. Al termine cancella il file.
Al cliente basta inviare via ftp un file di testo opportunamente
formattato. E' necessario però avere la possibilità di installare un
programma come servizio sul server (per fare questo credo sia necessario
modificare una chiave del registry e installare un prg di NT resource kit).
-- 
Rhodion
"The force that through the green fuse drives the flower
 Drives my green age; that blasts the roots of trees
 Is my destroyer."

modificare una chiave del registry e installare un prg di NT resource kit).
Beh potrebbe bastare un pulsante che il cliente attiva dopo l'upload.
Ciao.
Fabio Serra - 
http://www.cfmentor.com
*************************************
Per rispondere in e-mail cancella "the." e sostituisci 
"whitehouse" con "faser".

E la strada del CDONTS? ...Non è più semplice?


Ciao Sauro,
quale sarebbe questa strada?
Fino ad ora mi sembra che i consigli che mi sono stati dati puntino
prevalentemente verso una soluzione tipo quella da me proposta, un parser su
server che può essere sviluppato anche in script (pure ASP) e che legge un
file uppato, contenente informazioni sugli elementi da aggiungere o
addirittura query SQL.
Non capisco cosa si possa fare con i CDO! I CDO non offrono funzioni per il
supporto dell'email su server NT?
Per quanto riguarda l'aggiornamento, cosa che tra l'altro non avevo
preventivato in quanto al momento non mi serve, si potrebbe sviluppare una
cosa mista tra on-line ed off-line: dal sito (sezione amministrativa) viene
fatta una selezione dei prodotti da aggiornare; uno script provvede a
salvare le informazioni necessarie in un file formattato che viene
scaricato. Il file viene poi analizzato off-line dallo stesso software che
genera le query di aggiornamento ed in base alle info in esso contenuto
viene creato il file che poi va uppato sul sito. In ogni modo sono solo
supposizione sparate in un momento di delirio post-lavorativo! :)
Certo, il discorso è sempre lo stesso: una cosa di questo tipo è OK per
soluzioni medie: per piccoli interventi basta l'amministrazione on-line, per
interventi maggiori conviene andare su software dedicati alla
sincronizzazione di database, ma a quel punto si parla anche di connessioni
dedicate al server, di lavoro di rete praticamente! ;)
Saluti

replica e sincronizzazione di access?   Ok ci sarebbe il costo di
Non la conosco, ma se i due db sono due oggetti completamente diversi non
credo possa fare molto.


 dedicate al server, di lavoro di rete praticamente! ;)
appunto. un database Access piů grande di 2 mega risulta abbastanza lento
nell'accesso, per cui a quel punto conviene usare SQL Server, ed allora le
cose cambiano...
--
CIAO!.db
Daniele "The Night Surfer" Bochicchio <webmaster(at)ASPItalia.com>
----------- H T T P : / /  W W W . A S P I T A L I A . C O M -----------
Moderatore di it.comp.www.asp
Materiale: 
http://www.ASPItalia.com/newsgroup/icwa.asp
Tutto su NT: 
http://www.ASPItalia.com/
----------- H T T P : / /  W W W . A S P I T A L I A . C O M -----------
Ogni giovedě un nuovo articolo. Clicca qui per quello di questa
settimana: 'XSL e gestione degli stili in XML'
http://www.ASPItalia.com/articoli/articoli.asp?settimana
----------- H T T P : / /  W W W . A S P I T A L I A . C O M -----------
it.comp.www.asp, it.comp.www.html, it.lavoro.professioni.webmaster...
Cos'hanno in comune? Scoprilo su 
http://www.ASPItalia.com/newsgroup/
----------- H T T P : / /  W W W . A S P I T A L I A . C O M -----------

Il mio suggerimento era per la strada suggerita da Rhodion: installare un
daemon temporizzato e modificare le configurazioni del registro mi sembra
eccessivo (ammesso che l'hoster del cliente lo conceda).
In linea di principio la penso come te. Occorre "comandare" da off line il
sito. Presto anche io dovrò affrontare il tuo problema quindi ti spiego come
ho pensato di muovermi sulla base di quanto ho letto tempo fa sui manuali.
Sottolineo tempo fa, quindi non garantisco la sicurezza di quanto affermo.
Premessa i mio utente ha Access e sul sito c'è un file Mdb
Con ASP e CDONTS puoi collegarti alla gestione della casella postale sul
sito. CDONTS viene usato normalmente e facilmente (bastano pochissime linee
di codice) per mandare EMail dal sito, però sul manuale (ancora non l'ho
fatto) sembra che sia abbastanza facile legare il CDONTS alla posta in
arrivo al sito. In altre parole quando qcuno manda un' email a
si...@miosito.it
, CDONTS si attiva e dovrebbe essere possibile gestirla
tramite asp.
- I miei utenti selezioneranno con un flag i record che vorranno pubblicare
sul sito.
-Una volta finito premeranno un bottone "trasferisci" (quindi nessun
collegamento ftp) il quale richiama una procedura che:
-Trasferisce la query che seleziona i record da trasferire su un file ascii.
-Crea una email destinata al sito con allegato il file ascii (se access non
permette di mandarlo come allegato, la cosa si complica ma non troppo)
-A questo punto bisogna vedere se è stato possibile mandare l'Mdb sul sito
con il collegamento al file ascii. Se fosse così, il gioco è fatto. Dentro
l'mdb, il file ascii viene visto come una tabella normale, quindi con delle
semplici query richiamate da ASP su attivazione di CDONTS si può aggiornare
l'mdb. Magari si manda un email di riscontro che tutto è andato a buon fine
all'utente... o addirittura ad access che aggiorni i flag "Trasferimento
effettuato"!
Spero di essere stato chiaro; fammi sapere. Ciao






