Newsgroup: it.comp.lang.visual-basic
Titolo: [VB6] accesso a db access tramite VPN

Ho scritto un prg in vb6 che preleva dei dati da un db access (sito sul
server locale) tramite DAO. Sono mesi che che lo usiamo in azienda e fino ad
ora nessun problema particolare.
Ora abbiamo aperto una filiale i cui computer si connettono tramite VPN al
nostro server.
Ho installato il mio prg su questi computer senza modifcarne alcun chè (in
pratica la posizione del file mdb resta "\\nt_server\..." visto che viene
mappato una volta connesso alla VPN) e parrebbe funzionare ma chi lo usa mi
dice che spesso da un errore di runtime (errore di rete o hard disk) quando
lasciato in attesa (cioè senza comunicare con il db) per un po e poi
nuovamente messo in comunicazione con il db.
Purtroppo non ho la possibilità di verificare di persona la cosa e non
conosco l'esatto codice di errore ma vorrei sapere se qualcuno ha idea di
quale sia il problema.
Ho notato inoltre che la prima volta che si fa un query su una tabella
impiega molto tempo a scaricare i dati, se la rifaccio diventa veloce, quasi
che il client si caricasse tutta la tabella alla prima query, cosa che nel
caso di una connessione lenta diventa pesante.
bye,
Max

 
hai appena descritto il funzionamento previsto di access.
a grandi linee, ovviamente.
non essendo access un rdbms, l'elaborazione dei dati avviene sul pc 
client.
qualsiasi query fai, richiede quindi che per prima cosa vengano passati 
tutti i dati sul client.
alla seconda esecuzione, mi sa che entrano in gioco meccanismi di caching 
che velocizzano la faccenda.
questo potrebbe anche essere parte della spiegazione dell'errore che si 
ottiene in caso di inattività del programma.
accedendo al db attraverso una share ed essendo il collegamento via vpn 
per definizione lento (più lento di una lan), il 'server' dopo un certo 
periodo disconnette il client non attivo e per qualche motivo quando il 
client riprende le operazioni la connessione non viene ripristinata 
automaticamente.
imho, la soluzione sta nel passare a un rdbms.
sql server piuttosto che mysql o postgre.
in una situazione come la tua, access arriva a mostrare tutti i suoi 
limiti, per quanto il numero di client e di operazioni da eseguire possa 
essere basso.
-- 
---
paoloopg
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
---

 paoloopg
grazie
by,
Max

 
ovviamente
:-)


Ciao Massimo,
se non vuoi riscrivere il programma per utilizzare un altro tipo di DB
e non vuoi avere problemi utilizza un PC con Windows Server (2000 o
2003) e servizi terminal.
Utilizzare database Access su VPN puo' portarti facilmente anche a
problemi di corruzione (anche seri) del database. I problemi che hai
attualmente sono niente in confronto a quelli che potresti avere in
futuro se continui con questa soluzione.

Dimenticavo... con una soluzione basata su Servizi Terminal ti si
risolvera' anche automaticamente il problema delle performance ;)


beh, fortunatamente il prg effettua solo operazioni di lettura sul db,
quindi spero non rovini il db.
Scusa l'ignoranza ma chessono sti servizi terminal?
bye,
Max
PS
Se non risponderò per un po sappi che non è per maleducazione: tra mezz'ora
sarò clamorosamente in ferie :))

 sarò clamorosamente in ferie :))
     Buon divertimento allora ;)