Newsgroup: it.comp.lang.visual-basic
Titolo: Dubbi su ADO vs DAO

Sono a meta' dello sviluppo del mio secondo programma in
rete con ADO su un database Access.
Ed a questo punto i dubbi sull'efficienza dell'interfaccia
mi hanno letteralmente travolto.
Lo strumento che piu' mi manca e' la possibilita' di usare
l'accesso diretto alle tabelle con il metodo "Seek", per
il quale non ho trovato adeguate alternative.
Cito dall'MSDN:
In general, it's probably too early in the evolution of
ADO to migrate most DAO applications (except possibly ones
using ODBCDirect) to ADO right now, since ADO doesn't
currently support data definition (DDL), users, groups,
and so forth. If you use DAO only for client-server
applications and don't rely on the Jet database engine or
use DDL, however, then you can probably migrate to ADO
now. Eventually, Microsoft will provide an ADO DDL
component to aid in DAO-to-ADO migration and provide
generic DDL support for OLE DB providers.
Qualche mese fa ho letto il documento pubblicato
sull'argomento sul sito comune: oggi mi sento di dire che
non viene sottolineata abbastanza la inadeguatezza di ADO
nei confronti del motore Jet.
Il mio punto di vista e' questo:
Jet, per dare il meglio vuole un certo tipo di
trattamento, che ha poco a vedere con i sistemi usati per
i motori client-server; per mia esperienza, ho potuto
constatare che limitando il ricorso ad istruzioni
select(precompilate e non) contro un uso diretto di
tabelle indicizzate ad hoc, offre prestazioni di tutto
rispetto, addirittura (e forse questa e' una sciocchezza )
ho avuto l'impressione che la gestione delle relazioni da
programma fosse piu' performante della impostazione delle
stesse nel db.
In ADO invece: se imposti un cursore dinamico su Jet, ADO
non ti dice nulla, ma lo converte in keyset; un cursore
lato client puo' essere solo statico (faccio bene ad
assimilarlo ad uno snapshot ?); la gestione
repliche(c'entra poco col discorso ma la metto lo stesso)
non e' supportata etc.
Secondo me l'uso di ADO presuppone una continua
interrogazione dei dati, e questo e' il classico lavoro
dei C/S; ora, io non ho buone basi teoriche, ma suppongo
che Jet non potendo offrire un tale servizio con
prestazioni accettabili, in quanto la query viene fatta
sul client con conseguente traffico di rete, offra tramite
uso diretto di indici e tabelle una alternativa
accettabile( con una di quelle figure mentali che, credo,
ognuno si crei per spiegarsi le cose, mi immagino il
collegamento alla tabella Jet come un puntatore a lista
che ritorni solo il record puntato o NoMatch).
La domanda:
Devo fare un programma su database Access in rete; ha
senso crearlo con ADO pensando che forse fra qualche anno
dovro' convertirlo per MS SQLServer ?
I dubbi:
MS dice che ADO e' il futuro, ma fra qualche anno ADO
sara' come quello che uso oggi ?
Ha senso presentare qualcosa con ADO oggi che sai essere
molto peggio di quello che potresti offrire con DAO ?
Avvertenza:
Con DAO ho una esperienza di lavoro di 4 anni, che sia
tutta una manfrina per evitare l'adattamento ad un nuovo
ambiente ?
Ringrazio per i consigli che mi giungeranno.

il quale non ho trovato adeguate alternative.
---CUT---

Ringrazio per i consigli che mi giungeranno.
Prego.
(Iddio ogni sera prima di andare a letto)

Ma io mi chiedo, alla M$ che ci perdono ad aggiungere ad ADO le Seek?
Guarda che ESISTE la seek nelle specifiche ADO 2.1. Al massimo cosa ci
perdono ad aggiungerla al provider di SQL7.
---CUT---
Fabio Pagano

 Ringrazio per i consigli che mi giungeranno.
Prego...
By Zolfo

tutti gli altri gestori di Db.....
Mai sentito parlare di "Restore" (Basic/400), "Start" (Cobol) presenti in
database e piattaforme piu' serie e funzionanti da decenni? Sono
praticamente le "seek" con un altro nome.
Fabio Pagano
---CUT---

 fai con DAo soprattutto se fai uso assiduo di Seek......
corretto. chi ama il seek soffrira'. ma se poi non dovra' mai passare sotto
sql server, oracle, informix o quant'altro ?
forse una corretta analisi iniziale (sul breve, medio, lungo termine) resta
la cosa migliore.
ciao, pal

 praticamente le "seek" con un altro nome.
...no...ma come ho detto sotto, non sono abituato a sistemi del genere
infatti nonostante siano anni che programma in Vb ho solo 21 anni, e poi
intendevo dire che l'sql di Ado segue un certo standard rispetto agli altri
sql cosa che invece Dao non faceva ( e queste sono parole della M$ che ho
sentito in una conferenza a maggio)
By zolfo