Newsgroup: it.comp.lang.visual-basic
Titolo: VB6 + dao + database ACCESS ; Limiti certi?

Ho la mia procedura in VB6 e un database MDB
che funziona bene con 3/4 PC collegati al database.
Mi interesserebbe sapere se:
1) C'è un numero massimo di PC che hanno aperto
    contemporaneamente il database.
2) Il database ha un limite di dimensione
Grazie per le Vostre risposte.
Saluti.
Sauro

Il Fri, 16 May 2008 15:40:25 +0200, Sauro Vicchi - C.R.S. Scala Antonio srl
ha scritto:

Che io sappia la risposta è no ad entrambe le risposte, almeno dal punto di
vista teorico. I limiti li puoi avere dal punto di vista pratico come
dimensione dello spazio su disco o in termini di prestazione per query su
grosse mole di dati fatte via rete.
Posso però dirti che usare un database Access per un accesso concorrente è
piuttosto pericoloso (può capitare che si corrompa), ti consiglio
*caldamente* di considerare il passaggio ad un database server vero,
disponibile gratis come Microsoft SQL Server Express o PostgreSQL. Ne
guadagni in scalabilità e sicurezza.
Personalmente Access/mdb lo considerei unicamente per programmi stand
alone.
PaF

 PaF
Grazie PaF per la tua risposta.
In quanto ai tuoi consigli; non posso più seguirli
ormai in quanto la procedura e finita da tempo e
"gira" da un paio d'anni presso 6 clienti.
I tempi di accesso sono buoni (con max 4 PC
collegati attualmente).
Per il momento non ho ancora avuto dei database
corrotti.
Comunque incrocio le dita e dico a tutti di fare un
salvataggio ogni giorno.
Grazie ancora.
Saluti, Sauro

 salvataggio ogni giorno.
Per esperienza non c'é mai da fidarsi della memoria degli utenti, molto
meglio schedulare un job sulla macchina che ospita il file mdb che copia
brutalmente il file in un altro percorso o meglio ancora pc. 
Per tutelarsi ancora di più è meglio schedulare 5 job diversi per i 5
giorni della settimana in modo tale che il file mdb venga copiato nella
cartella "lunedi", "martedi", etc, simulando il cambio dei nastri delle
unità di backup. In questo modo non solo salvaguardi l'integrità del file
in caso di corruzione ma rendi possibile un banale rollback se gli utenti
cancellano qualche dato importante.
PaF

 2) Il database ha un limite di dimensione
dipende... se usi un mdb creato con access 97 hai un limite di 1gb
mentre se usi un mdb creato con una versione superiore hai
un limite di 2gb
ciao
Efisio

    contemporaneamente il database.
Mi pare 255
Poi bisognerebbe vedere le performance :(
Comunque quello è il limite fisico del file .ldb
-- 
Greg 

 un limite di 2gb
Ho letto in giro che in entrambi i casi puoi splittare il file singolo su
più file con le tabelle collegate, superando il limite.
PaF

 più file con le tabelle collegate, superando il limite.
Vero! però i limiti rimangono sempre quelli. A questo punto, se non ci
sono
grandi difficoltà e come hai scritto su, conviene passare ad SQL
Server...
anche Express.
Ciao
Efisio

 ha scritto

per una cosa simile gli faccio guardare l'mdb ogni ora. se dimensioni o data 
sono cambiate dall'ultima copia, chiuso o aperto che sia ne crea una nuova, 
appendendo al filename anche aaaammgg_hhmmss. questo sullo stesso server. su 
questo un task aggiorna le copie su un altro server.
quanto agli utenti, mi sembra lupo dicesse che ne aveva 50 contemporanei, 
anche se mi sembra molto cercarsela.
ciao, a.


No, no, Lupo sapeva quello che faceva, eccome.
Gli utenti "potenziali" erano 50 ma quelli reali erano pochissimi, forse uno 
o due, poiche lui aveva sempre e costantemente il file del db chiuso.
Lo apriva giusto per quel millisecondo che servia in lettura, e se invece 
era in scrittura aveva il suo "semaforo" oltre ovviamente ad aprire per lo 
stretto necessario e subito chiudere. In questo modo ci sono 50 utenti col 
programma aperto ma solo 1 o 2 sono in fase di select o edit o update.
-- 
Greg 

 uno o due, poiche lui aveva sempre e costantemente il file del db chiuso.
ok. anche se -- non me ne voglia lupone -- in questo modo assomiglia 
parecchio ai recordset disconnessi...
ciao, a.