Salve richiedo nuovamente l'aiuto del Forum.
C'è un sistema per pubblicare intere serie di record o per "sincronizzare" il database che gira sul PC e quello pubblicato nel sito web?
![]()
Salve richiedo nuovamente l'aiuto del Forum.
C'è un sistema per pubblicare intere serie di record o per "sincronizzare" il database che gira sul PC e quello pubblicato nel sito web?
![]()
DPal
I sistemi ci sono....naturalmente non puoi pretendere che la sincronizzazione avvenga in tempo reale e in modo continuo, altrimenti dovresti tenere aperta una connessione permanente con il server, farai la connessione per sincronizzare a fine giornata, oppure in momenti particolari, a intervalli fissi, anche in automatico, questo dipende dalle esigenze dell'applicazione.
Guarda gli scripts di
www.freeasp.it
dovrebbe esserci qualche risorsa specifica.
In ambiente .net l'operazione è davvero facile, direi banale.
![]()
E' nato www.lombardiamotori.it
www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!
In primo luogo grazie per il suggerimento.
Ho trovato uno script che sembra fatto su misura per le mie necessità
Sincronizzazione database
http://freeasp.html.it/script/view_script.asp?id=289
Ho scaricato lo script, ho apportato le necessarie modifiche, ho pubblicato il tutto ma... non funziona.
Richiamando la pagina sincro.asp, il sistema segnala
HTTP 404 - File non trovato
Internet Explorer
La pagina, invece, è presente.
Puoi aiutarmi?![]()
DPal
Interessante come script, l'autore deve essere veramente tosto
![]()
Se lo script non trova il file (o il database) che cerca controlla la correttezza degli URL, innanzitutto nella stringa di connessione.
E' nato www.lombardiamotori.it
www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!
Anzi, quello del database nella stringa di connessione è l'UNICO URL presente nello script: controlla quindi quello, che corrisponda alla posizione del database sul server (ovviamente avrai sostituito all'url di esempio, "/freeasp_files/freeasp_database/database.mdb", quello del tuo database, vero?), poi controlla di avere sostituito correttamente ai nomi delle due tabelle di esempio (prova1 e prova2) i nomi delle tabelle del tuo database.
Infine (e poi non c'è altra possibilità di errore) devi sostituire il nome del campo identificativo dei tuoi records a quello di esempio ("id") che trovi nello script che hai scaricato.
E' nato www.lombardiamotori.it
www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!
Ecco le modifiche apportare:
1) connessione a database
cString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/database.mdb")
2) tabella sul pc giuris1
tabella on line giuris
Ecco lo script modificato
'Stringa per la connessione
cString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/database.mdb")
'creo e apro la connessione
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.Open cstring
'creo e apro il primo recordset, con i dati da utilizzare per l'aggiornamento
set rs1 = server.createobject("ADODB.recordset")
sql1 = "select * from giuris1"
rs1.open sql1, objconn
set rs2 = server.createobject("ADODB.recordset") 'creo il secondo recordset, sulla tabella da aggiornare
do until rs1.eof 'per ogni record esistente nella prima tabella.....
sql2 = "select * from giuris where id = '"&rs1("id")&"'" '...cerco il record corrispondente nella seconda tabella
rs2.open sql2, objconn 'apro il secondo recordset
if rs2.eof then 'se il record non esiste nella seconda tabella.......
'.....lo creo
sql3 = "insert into giuris (id) values ('"&rs1.fields.item("id").value&"')"
objconn.execute sql3
end if
for each campo in rs1.fields '.... e poi per ognuno dei campi presenti nella prima tabella.....
'..... aggiorno il campo corrispondente del record corrispondente nella seconda tabella
sql4 = "update giuris set "&campo.name&"='"&campo.value&"' where id='"&rs1.fields.item("id").value&"'"
objconn.execute sql4
next
rs2.close 'chiudo il secondo recordset....
rs1.movenext '.... e passo al record successivo nella prima tabella
loop
set rs2 = nothing 'distruggo il secondo recordset
rs1.close 'chiudo e distruggo il primo recordset
set rs1 = nothing
'chiudo e distruggo la connessione
objConn.close
set objconn=nothing
'notifico che la procedura è andata a buon fine
response.write("
")
response.write("<div align='center'>Aggiornamento effettuato!</div>")
%>
DPal
Lo conosco a memoria.......qual è l'errore?
E' nato www.lombardiamotori.it
www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!
Il sistema dà sempre lo stesso errore:
HTTP 500 - Errore interno del server
Internet Explorer
DPal
Sei sicuro che il campo identificativo dei record si chiami proprio "id", come nel mio esempio? Se no, correggi il nome del campo.
Sei sicuro che "id" non sia numerico? Nel caso, elimina gli apici singoli trasformando
incodice:sql2 = "select * from giuris where id = ' "&rs1("id")&" ' "
in tutte le query.codice:sql2 = "select * from giuris where id = "&rs1("id")&" "
Sei sicuro che la cartella dove hai posizionato il database abbia i permessi di scrittura?
Sei sicuro che nessuno ti abbia fatto il malocchio?
E' nato www.lombardiamotori.it
www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!
In ogni caso disabilita i messaggi di errore brevi nel tuo browser (menu strumenti --> voce opzioni internet --> scheda avanzate), in modo di poter avere maggiori indicazioni dal server in caso di errore.
E' nato www.lombardiamotori.it
www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!