Newsgroup: it.comp.lang.visual-basic
Titolo: Sostituire il database MDB

Anni fŕ, quando iniziai a programmare con VB, commisi
l'errore di utilizzare DAO invece di ADO.
Quando, anche conoscendo questo NG, mi resi conto
che mi ero legato al database MDB avevo giŕ scritto un
mucchio di codice.
Inoltre la mia procedura, per piccole aziende, non
comporta una notevole quantitŕ di dati (ancora oggi dopo
10 anni di utilizzo i database dei clienti non raggoungono
1 giga).
Tuttavia, quando ho introdotto una procedura di
rilevamento tempi di lavorazione e i pc in rete sono
diventati una decina, il database ha iniziato a corrompersi.
Non succede cosě spesso (2/3 volte all'anno) ma
comnunque stŕ diventando un problema.
 
Cosě vorrei provare a modificare il codice per usare un
database migliore.
Una volta ci ho giŕ provato (mi sembra con mysql) ma
non sono riuscito neanche a farlo funzionare per fare
qualche prova.
 
Per concludere avrei bisogno non solo di procurarmi
un valido database free ma anche di ricevere qualche
dritta per iniziare.
 
Se qualcuno, con tutta calma, mi puň aiutare .....
 
Grazie e buon 2016 a tutti.
Sauro
 
 

 [...]


uno step alla volta:
Per esempio, puoi mantenere provvisoriamente il tuo database ancora in 
formato MDB e semplicemente convertire il tuo codice da DAO a ADO, così che 
ti possa concentrare solo su quello piuttosto che sul cvambiare interamente 
sistema RDBMS.
Una una volta che sei a tuo agio col codice nuovo, passare ad un altro DB 
che sia sempre ADO/OLEDB compatibile è semplice... di nuovo, per praticità, 
potresti cominciare a guardare le versioni Express di SQL Server, che è 
facile da usare, non ha limitazioni particolarmente pesanti, e ha anche una 
modalità "LocalDB" simile al paradigma di Access (semplici file da 
distribuire senza installare tutti i servizi ecc...)
 
Per la verità ho fatto diverse prove con ADO, sul
database MDB pet vedere come funziona.
Tra l'altro ho notato una cosa per me strana sui
campi di testo facendo delle update.
Campo = ""
Il campo non viene modificato.
Affinchè venga modificato bisogna inserire almeno
uno spazio tra i due apici.
 
Capisco il senso del tuo consiglio nel frazionare
le problematiche.
Però modificare tutto il codice richiederà dei mesi
ed io voglio essere certo di non incontare in seguito
degli ostacoli insormontabili.
 
Sai che esista qualche utility che, leggendo un database
mdb ne ricopi la struttura (con o senza i records) in un
database SQL server?
 
Grazie Luca e buon anno.
Sauro 
 
 

 Anni fr, quando iniziai a programmare con VB, commisi


"Per gli sviluppatori che hanno l'esigenza di un database
SQL Server incorporato per strumenti o applicazioni desktop.
LocalDB viene eseguito in-process con le applicazioni e non
come servizio"
 
Prego qualcuno di spiegarmi quanto sopra in parole povere.
Premetto di non voler utilizzare la tecnica client-server ma il
mio programma deve comunque funzionare in una rete di
almeno una dozzina di pc con tempi accettabili.
 
. 
 
 

Quando ho visto le risorse necessarie per l'edizione 2014 ho
deciso di installare la versione 2012 che avrebbe dovuto funzionare
con XP.
In realtà l'installazione non è avvenita per non bene specificate
caratteristiche del mio sistema (che è XP sp3).
 
Mi prendo una pausa di riflessione.
 
Ciao Luca
Sauro 
 
 

 almeno una dozzina di pc con tempi accettabili. 
 
Non ho provato, ma è possibile che la modalità LocalDB non ti consenta questa cosa (il file, anche se in una share condivisa, è lockato dal singolo utente?) e preferisca tu faccia questo mestiere usando SQL Server in maniera "normale"
 
Detto questo, francamente, quando cominci ad avere una rete di 10+ client attivi, dovresti seriamente pensare ad un modello client-server (che concettualmente non cambia gran che, per non dire niente, nel codice della tua applicazione, è solo una questione di setup dell'ambiente); qualunque sistema DB tu decida di usare, è comunque sempre più robusto e non a rischio corruzione che non continuare ad usare file condivisi a destra e a manca.