Aiuto!!! Corruzione dati in db access

lunedì 13 dicembre 2004 - 10.37

ZefVB Profilo | Newbie

Salve a tutti,
sempre più spesso mi ritrovo in un programma che sto "tentando" di fare i dati corrotti in un db access.
Mi spiego meglio, quando vado ad aggiornare i campi di un record tramite un numero di ID unico i dati vengono aggiornati, ma mi ritrovo "spezzoni" anche su un record con un ID diverso, questo succede in modo casuale, e del tutto imprevedibile, anche se sembra che più diventa grande il db più spesso si presenta il problema.
Utilizzo microsoft.jet.oledb.4.0 per accedere al db e una stringa del tipo "UPDATE db SET campo1 = ('bla bla bla'), campo2 = ('bla bla bla'), ecc ecc WHERE ID=1" per aggiornare un record.

Da cosa può dipendere questa anomalia? Dove sto sbagliando? Può in qualche modo dipendere che due computer in una rete locale con lo stesso programma utilizzano lo stesso db?

Vi ringrazio anticipatamente per qualsiasi aiuto possiate darmi
Joseph.

Brainkiller Profilo | Guru

Bisogna vedere varie cose.
Intanto l'applicazione è scritta in VBA o con un linguaggio esterno ad access ?
Due, che dimensioni ha raggiunto il tuo Database, sai che c'è il limite dei 2 giga ?

ciao
david

ZefVB Profilo | Newbie

GRAZIE mille per l'interessamento.
L'applicazione è scritta in Vb .net, mentre il db come dimensione non ha raggiunto nemmeno un mega byte.
Nel db ci sono varie tabelle, è la cosa interessante è che nella tabella clienti non è mai capitato che i dati venissero corrotti, mentre capita solo nelle tabelle "laboratorio" e "interventi esterni" forse perche' lo stesso record viene modificato parecchie volte.
Inoltre al db vi accede anche un secondo computer collegato in una rete locale con lo stesso programma, anche se ho previsto di bloccare il db se uno dei due prog è già in modalita "modifica/scrittura".

Non ho idea di cosa altro possa essere, stavo pensando di dividere il programma in varie form e idem per il db così da avere un db per ogni form/sezione del programma ma non ho idea se così facendo migliora davvero qualche cosa o è solo una perdita di tempo.

Sto brancolando nel buio ogni aituo e ben accetto.... grazie
Joseph

Brainkiller Profilo | Guru

Ti consiglio un'approfondita lettura al seguente docuemnto:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbtskperformingoptimisticconcurrencychecking.asp

ciao
david

ZefVB Profilo | Newbie

Wow grazie per le info, inutile negarti che ad una prima lettura ci ho capito davvero poco, purtroppo il mio inglese non è dei migliori, cmq almeno ora ho qualcosa su cui far affidamento.

Grazie di nuovo per il tuo prezioso aiuto.
Zef
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5