paoloholzl ha scritto:
ADO sicuramente ha un livello di astrazione superiore, in pratica cerca di fare tanto, ma in quel tanto ho trovato spesso problemi, una sintassi un po prolissa, insomma da sempre uso DAO senza aver avuto problemi e mi connetto ai DB via ODBC.
Parliamo di sintassi, o di proprietà che si possono usare opzionalmente e a discrezione?
Comunque sia, se non si conosce né l'una né l'altra, come nel caso di chi ha posto la domanda iniziale, tanto vale usare quella più recente, più supportata e più performante tra le due, ossia ADO (OLE DB).
paoloholzl ha scritto:
Ovviamente non è che ad ogni versione posso ricominciare a ritestare tutto (ADO è in continua evoluzione), anche perchè le due sintassi sono piuttosto diverse.
Anche qui, non è chiaro cosa si intenda per "sintassi": gli statement SQL sono gli stessi, gli oggetti sono ovviamente diversi benché tutto sommato neanche così distanti, ma perché esistono diverse entità nella libreria nate appositamente per l'ottimizzazione dell'accesso ai dati.
Sul ricominciare da zero posso essere d'accordo, ma ha senso quando si parla di tecnologie nuove: ADO nasce nel 1996, quindi ormai ha più di 25 anni, figuriamoci quanto è vecchio DAO o addirittura ODBC!
paoloholzl ha scritto:
Sto valutando Office 2021 e il componente DAO sembra non presente e il reference non funziona.
E' proprio per questo che non è una buona scelta utilizzare strumenti obsoleti: in questo caso peraltro, parliamo di DAO, ossia la versione precedente di una tecnologia - ADO - che è anch'essa ormai sulla strada dell'obsolescenza.
paoloholzl ha scritto:
Non vorrei essere costretto a migrare per forza.
Di nuovo, mi troveresti d'accordo se si parlasse di uno sviluppatore VB6 che nel 2000 deve riscrivere un programma in VB.NET senza un percorso di migrazione, ma qui stiamo parlando di una tecnologia che ha 30 anni di età.
Va bene il riutilizzo del codice e delle conoscenze, ma qui parliamo di ere geologiche.
paoloholzl ha scritto:
Al momento non conosco altri programmatori che usano Access2021.
Se devi programmare oggi usa Access 2010 o 2019.
Anche qui, mi sembra riduttivo dare un suggerimento in base al numero di sviluppatori che si conoscono: dipende dalle prerogative del progetto e ci sono tanti altri aspetti da prendere in considerazione.
paoloholzl ha scritto:
Personalmente il problema non lo vedo tanto nella multiutenza, quanto nella facilità di distribuzione.
Il problema è anche nella multi-utenza, quando viene usata una logica bloccante oppure quando il database Access deve essere condiviso in rete, con un degrado delle prestazioni (essendo "file based") anche importante e un traffico di rete rilevante (se i dati sono tanti) accoppiato all'uso di un formato di dati tendenzialmente fragile (non ridondabile, non backuppabile a caldo, ecc.). Con più utenti, si usa SQL Server (o equivalente), piuttosto.
paoloholzl ha scritto:
Per strutture centralizzate ed in crescita, senza dubbio meglio SQL Express.
Esatto, ma ad oggi sono tutte centralizzate e in crescita, salvo casi molto particolari (dove in quel frangente Access è anche trascurabile o facilmente sostituibile).
paoloholzl ha scritto:
Per masse di dati consistenti meglio MYSQL.
Non so cosa si intenda con "masse di dati consistenti", ad ogni modo MySQL e SQL Server (ma anche InterBase, FireBird e tanti altri) sono perfettamente utilizzabili: la differenza sta nelle feature che offrono e nel modo in cui si è abituati a gestirle.
Ciao!