PDA

View Full Version : [VB.NET ed Access 2007] Access è più lento a scrivere di quanto io a leggere


Mex87
30-10-2012, 19:20
Salve a tutti,
Scusate per il titolo equivoco, ma adesso cercherò di spiegarmi meglio.

Sto realizzando un programma in Visual Basic 2010 che per memorizzare i dati si basa su un database access 2007.

Ed il problema che ho riscontrato è il seguente:
il programma esegue 2 passi:

1) Avvia una procedura che scrive una decina di record su una tabella del database.

2) Avvia una procedura di lettura che legge i dati appena inseriti per eseguire dei calcoli successivi.

Ed è quì che si verifica un problema, praticamente la query di lettura non mi restituisce tutti i dati che ho inserito, ma solo una parte!

Il bello è che i dati sono stati tutti inseriti, infatti se eseguo il programma in modalità debug passo-passo allora tutto va per il meglio e durante la lettura trova tutti i dati inseriti, mentre se eseguo il programma direttamente si verifica il problema (cosa strana forte, sembra che access non riesca a scrivere i dati in tempo per la lettura!).

Sapete come risolvere questo problema?
Attualmente non so dove sbattere la testa!!

---EDIT---
Attualmente ho arginato il problema mettendo una pausa di mezzo secondo tra le 2 operazioni, ma non è questo il modo corretto di procedere....

Gaiden80
01-11-2012, 14:17
Se posso permettermi ti suggerisco di utilizzare SqlServer CE 4, non serve avere neanche office installato, basta portarti l'assembly dietro ed hai un DB molto migliore rispetto Access

AllerITA
02-11-2012, 08:58
Scusate ma volevo segnalare che per utilizzare il Sqlserver Compact (Sqlserver CE) devi portarti dietro nell'installazione del tuo programma il pacchetto ridistribuibile del sistema:

http://www.microsoft.com/en-us/download/details.aspx?id=17876

Altrimenti non penso funzioni.

starfred
02-11-2012, 10:25
Ciao, quando inserisci i dati effettua il lock/unlock della tabella, questo dovrebbe risolvere quasi del tutto il problema. :)

Gaiden80
02-11-2012, 11:09
non è necessario installare il runtime, basta portarsi le dll del pacchetto che si prendono nella cartella di installazione di Sql Server Ce.
Ulteriore alternativa è sqlite.
Ho provato entrambi e sono ottimi per piccole applicazioni locali

AllerITA
02-11-2012, 12:02
A ok questo non lo sapevo.:D

Mex87
04-11-2012, 17:24
Grazie a tutti per le risposte, scusate se non ho risposto ma in questi giorni sono stato impegnato il lavori che c'entrano poco con il pc (raccolta di olive :D )

Ciao, quando inserisci i dati effettua il lock/unlock della tabella, questo dovrebbe risolvere quasi del tutto il problema. :)

Interessante ci proverò.

Riguardo alle altre risposte, si, per i futuri progetti provvedererò sicuramente ad usare o sql compact oppure il postgree, per questo progetto, se il problema è aggirabile ormai lo lascio così.

Devo dire che usare access è stato un errore di debolezza :muro:

Grazie ancora per le risposte, vi farò sapere come andrà!