Italian community of Lazarus and Free Pascal

Programmazione => Databases => Topic aperto da: giacomarko - Marzo 22, 2022, 01:26:31 pm

Titolo: Zeos e MS Access
Inserito da: giacomarko - Marzo 22, 2022, 01:26:31 pm
Buongiorno a tutti,

dovrei sviluppare una applicazione per windows che si appoggia ad Access come base dati, (lo so, mi direte che è una ca....ta) ma la condizione non negoziabile con l'utilizzatore è utilizzare quello che c'è, senza installare altro software vedi MySQL, Firebird.... per cui, avendo Office/MS Access già presente sui PC dove dovrà girare il programma, non ci sono problemi di driver, setup... carichi l'exe, i DB di Access, esegui e funziona (già fatto in passato utilizzando XE2) ma ora vorrei spostarmi su Lazarus come ambiente di sviluppo ;-)

Premesso quanto sopra, il punto è questo:

vorrei evitare per praticità di utilizzare i file dns; utilizzando i componenti standard presenti in Lazarus, ho trovato/provato ODBCConnection che consente la connessione e la gestione dati e il tutto funziona.

Mi domandavo se non esistesse la possibilità di fare una cosa simile con la libreria Zeos, componente che ho utilizzato in passato e con il quale mi sono trovato molto bene.

Tutti i tentativi fatti non hanno portato risultati positivi, fatta eccezione l'uso del file di configurazione xyz.dns, che come detto sopra vorrei evitare.

Secondo voi (sicuramente più esperti di me), è possbile fare una cosa simile a ODBCConnection con Zeos ??

Grazie per il supporto

Marco
Titolo: Re:Zeos e MS Access
Inserito da: DragoRosso - Marzo 22, 2022, 02:08:37 pm
Dal quel che sò, Zeos usa ADO (quindi odbc) per connettersi a MSAccess. Quindi il DNS lo devi impostare.

Non sò se c'è qualche trucco per accedere direttamente da ADO al DB (ad esempio qualche stringa che sostituisce il DNS).

In Delphi invece si usa FireDAC e accedi direttamente senza configurare il DNS.

Sò che è una rogna (impostare il DNS, modificarlo quando cambia configurazione, ...)

Comunque se vuoi configurare il DNS senza usare lo strumento ODBC, puoi usare il ... comando ... a riga di comando  :o (che puoi lanciare anche dal tuo programma Lazarus):

Codice: [Seleziona]
odbcconf.exe /a {CONFIGSYSDSN "Nome driver del db usato"
"DSN=nome_desiderato_dsn|SERVER=indirizzo_ip_server_db|UID=nome_utente_db|PWD=password_db|DBname=d:\dati\pippo.db2"}

PS: Usato un milione di anni fà, dovrebbe funzionare ancora .... (l'ho copiato pari pari da un post).

Ciao
Titolo: Re:Zeos e MS Access
Inserito da: giacomarko - Marzo 22, 2022, 06:32:11 pm
Temevo una cosa del genere,  :'( :'(

peccato, mi ero illuso che il controllo ZConnection potesse, in qualche modo, essere configurato con dei parametri ad hoc.

In sostanza le alternative sono solo due, mi tengo ODBCConnection standard e non uso i file di configurazione *.dsn ... oppure uso Zeos con altri vantaggi a livello di componenti compatibili, ma mi devo spippolare i file *.dsn

che pal..e

M
Titolo: Re:Zeos e MS Access
Inserito da: giacomarko - Settembre 04, 2022, 11:41:26 am
Buongiorno,

mi "auto rispondo" più che altro per dovere di cronaca, magari questo post potrebbe essere di aiuto a qualcuno.

Premessa iniziale... le difficoltà che avevo inizialmente nell'utilizzare MS Access con Lazarus, ora sono risolte e direi in modo più che soddisfacente, alla fine ho optato per l'utilizzo dei componenti standard di Lazarus, e senza l'uso dei file di configurazione .dns.

Questo seguendo l'help di Lazarus alla sezione Database Overview.

Il tutto gira bene, il DB e il programma (insieme alle varie cartelle e file di configurazione) sono su una share del server, ovviamente non si parla di centinaia di utenti ma fino ad ora, ne conto una ventina e gira senza problemi.

A livello di records; mediamente la tabella corrente (quella su cui gli utenti scrivono) si aggira sui 20..30 mila records, che vengono poi periodicamente archiviati in una tabella storico per le varie interrogazioni, che attualmente supera i 300 mila records.

M