Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Impostare via codice il timeout del lock di Access XP

Utilizzo ADO con Access XP.
Ho un record lato server di tipo pessimistico lockato;
se cerco di aggiornarlo tramite VB per circa due secondi il comando di
aggiornamento aspetta che la risorsa si sblocchi (probabilmente facendo
polling).
Se durante questi due secondi la risorsa si sblocca il record viene
aggiornato, altrimenti viene correttamente generato un errore
-
2147467259
 che la mia applicazione intercetta, prendendo le dovute
contromisure.
Quello che mi servirebbe č diminuire il tempo polling sul record lockato
(meglio se nullo).
In alternativa: esiste un metodo per verificare se un record č loccato in
modo rapido senza provare a scrivere un valore?
termoPilucco

In news:bu69kd$ea6o2$
1...@ID-188026.news.uni-berlin.de
, *termoPilucco*
wrote:
Per impostare il timeout di un command o di una connection con ado ustilizza
la proprietà CommandTimeOut
Dalla guida:
"Indica il tempo di attesa da considerare durante l'esecuzione di un comando
prima di terminare il tentativo e generare un errore."
Ciao, SK
--
La pasienzia non è mai troppo (Totò)
<><><>
Esistono 10 tipi di persone: chi conosce il binario e chi no

 la proprietą CommandTimeOut
Chiedo venia se non l'ho scritto.
L'Avevo provato, ma questo particolare tipo di errore ("Impossibile
aggiornare. Attualmente bloccato.") sembra avere un timeout tutto suo.
Infatti sia aumentando che diminuendo il valore di CommandTimeOut il tempo
di polling si assesta sempre intorno ai due secondi.
termoPilucco.

 termoPilucco.
SpecialKeta


 Mi sembrava troppo bello poter dare un consiglio a *termoPilucco*...
Eh eh... ci sono milioni di cose che non conosco o conosco poco su VB e
compagnia, e in molti in questo NG mi hanno dato suggerimenti anche in via
indiretta (rispondendo a post altrui).
Comunque, per amor di cronaca la soluzione al mio problema è questa:
aggiungere dopo il comando .open della connessione adodb la riga
.Properties("Jet OLEDB:Lock Retry") = 1
Quindi il test su un record lockato viene ritentato un sola volta,
restituendo immediatamente il controllo al mio programma.
Come è giusto che sia deve essere il mio programma a decidere se "insistere"
su un record loccato o meno.
termoPilucco

 
Leggi qui:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&threadm=upj4vc6NDHA.3880%40tk2msftngp13.phx.gbl&rnum=11&prev=/groups%3Fq%3Daccess%2Bcheck%2Bif%2Brecord%2Blocked%26hl%3Den%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26start%3D10%26sa%3DN
e da quanto dicono e fanno quelli della MS qui:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odeopg/html/deovrlockingshareddatabyusingrecordsetobjectsinvba.asp
credo che cio' che ti serve non sia possibile.
ciao
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

credo che cio' che ti serve non sia possibile.
?
Cercavo di diminuire il tempo di timeout sul tentativo di scrittura su un record
lockato in Access XP.Aggiungendo, dopo la open della connection la riga 
.Properties("Jet OLEDB:Lock Retry") = 1
la cosa funziona bene ed è immediata.
:)
Se invece alludevi al lock sul singolo record, con Access 97 è impossibile, lo
so :)
Per questo ho convertito tutto in formato XP.
termoPilucco

 la cosa funziona bene ed è immediata.
Scusami, ma avevo capito che era la soluzione che speravi di trovare, 
non una proprieta' esistente.
