Newsgroup: it.comp.appl.access
Titolo: Dubbi sulla tecnologia Client/Server di access.

Salve a tutti,
Il mio dubbio č il seguente, ho realizzato un mdb di access con alcune
tabelle collegate su un server oracle, se lancio alcune select in access per
avere una risposta ci vogliono una decina di minuti, la stessa select se la
lancio da sql solo alcuni secondi.
Con un monitoraggio della rete ho notato che sql fa eseguire la query sul
server e fa passare solo i record interessati dalla select, mentre access fa
passare una grande mole di dati, e poi su di essa esegue la query.
Da questo ne deduco che le mie condizioni vengono eseguite in access.
Come posso fare in modo che si migliorino i tempi di attesa?
Premetto che alcune tabelle anno circa 100.000 record.
Grazie.

 Come posso fare in modo che si migliorino i tempi di attesa?
Esistono query pass-trought e ODBCDirect per ovviare a questi problemi (non
ti saprei aiutare tuttavia con Oracle).
Ciao.


Grazie Oscar, ma mi sono reso conto che alcune query li eseguiva
direttamente sul server con tempi accettabilissimi, altri la query veniva
spezata in più parti e le wherecondicion fenivono eseguite in access. Dunque
uniformando il tutto mi sta bene....
Scusa se ti faccio una domanda ma nelle query pass-trought sai se posso
mettere delle variabili prese da controlli di una maschera?
Ciao.

 mettere delle variabili prese da controlli di una maschera?
Si opera nello stesso modo del 'SQL di Jet: utilizzando gli apicini per
spezzare il costrutto SQL e far valutare il controllo o la variabile.
Ciao.

 Esistono query pass-trought
Forse dico una cazzata, ma le query pass-thru ritornano un recordset non
modificabile. Ergo, nelle maschere associate non te ne fai proprio nulla.
Ciao, Sandro.
--------------------------------
Inviato via 
http://usenet.libero.it

 Ergo, nelle maschere associate non te ne fai proprio nulla.
Ma te ne fai molto per la reportistica, per maschere/combo/caselle di
riepilogo a sola lettura, per estrapolazioni statistiche etc.
Ciao.

 Come posso fare in modo che si migliorino i tempi di attesa?
Passa a MSDE, motore basato su SQL Server fornito "di serie" da Access2000
in poi.
Ciao
Sib

 in poi.
E' no, mi pare d'aver capito che già usi un Server come Back-End (Oracle
addirittura :-)) e i suoi problemi riguardino le performances delle tabelle
collegate ODBC.
Ciao.

 collegate ODBC.
Boh .... rileggendo meglio quel post non so più cosa pensare ;-))

 ha scritto nel messaggio

Non prendertela, il suo post e' effettivamente ambiguo in questo senso.
Pero' la domanda finale era proprio come migliorare i tempi di Access.
Ciao
Sib

 riepilogo a sola lettura, per estrapolazioni statistiche etc.
Vero. Io, personalmente, non le ho ancora usate, per via della gestione dei
parametri di connessione, che vanno memorizzati nelle proprietà della query
(compresa la password in chiaro ...)
Hai qualche idea in merito?


 Hai qualche idea in merito?
E' un problema col quale mi scontrai pure io (considera
che da più di un anno io e i miei colleghi abbiamo rivisto parecchio con
.ADP, quindi devo parlare al passato).
Devo dire che per noi non era un grosso problema _lavorando come
programmatori interni in un ente abbiamo più margini operativi_
Comunque, prima di passare agli Access Data Project si era cominciato a
scrivere parecchio SQL Pass througt a codice con oggetti Querydefs
temporanei e passare al volo tali recordsets come origine dati delle
Forms/Combo, etc.  (nell'Help vedi proprietà "SQL" e trovi tutto).
Però putroppo non credo che l'oggetto .Recordset necessario per far ciò
(l'assegnazione on the fly del recordset ottenuto all'oggetto) esista con
Access '97
(forse col 2000 sì).
Ma forse esiste un'altra possibilità interessante: su avvio del programma
ricrei a codice (e le elimini su uscita) le query pass th. che ti servono
attraverso il solito querydef.
Ciao.

 attraverso il solito querydef.
Questa mi sembra un'idea eccellente!
Grazie mille, Sandro.
