Configurazione di un database diverso da Access : Altri Database
Come
ricordato più volte la base dati su cui appoggia Gea.Net può essere scelta
dall’utente. Per impostazione predefinita sono previsti solo i database di
maggiore diffusione tuttavia la implementazione delle modifiche necessarie ad
ospitare un database diverso da quelli previsti è tutt’altro che complessa.
Abbiamo già affrontato dettagliatamente quelle che sono le operazioni da
effettuare con database di casa Microsoft (Access o SQL Server).
A
differenza di Access e SQL Server per cui sono stati utilizzate librerie (assembly)
native, tutti gli altri database possono essere raggiunti via ODBC. Questa
scelta è stata fatta per non appesantire eccessivamente il codice di Gea.Net ma
se si desidera rendere più performante l’accesso al database può essere
integrato l’assembly nativo per il database prescelto. Questa operazione
richiede un intervento minimo sui codici sorgenti in quanto la sintassi dei
comandi non cambia.
L’accesso
via ODBC può essere eseguito impostando la ConnectionString che faccia
riferimento al driver direttamente oppure può essere creata un origine dati su
“pannello di controllo”. Scegliere “strumenti di amministrazione”
quindi “origini dati (ODBC)” creando l’origine dati su DSN di
sistema. Cosi facendo nella ConnectionString potrebbe essere sufficiente
indicare il riferimento all’origine dati “DSN=[nome origine dati]”. In
alcuni casi deve essere indicata almeno la password in quanto il driver non
consente di recuperarla in automatico.
Qualora ci fossero problemi nella creazione della DbConnectionString o la verifica di questa desse esito negativo possiamo creare un file UDL (Universal Data Link) ed aprirlo per avere un interfaccia grafica che può aiutarci.
In
questo paragrafo affronteremo le operazioni e i problemi che si possono
incontrare con altri database.
Oracle
Come
Microsoft con SQL Server, anche Oracle ha rilasciato una versione Express del
proprio database che può essere scalato alla versione commerciale.
Gea.Net prevede per impostazione predefinita anche
l’utilizzo anche di questa versione. Naturalmente se si possiede una versione
commerciale possono essere eseguite alcune modifiche al codice per rendere il
gestionale più performante. Per impostazione predefinita Gea.Net è predisposto
per la versione italiana di Oracle, se si possiede una versione diversa sarà
necessario eseguire alcune modifiche al codice per gestire le date nel formato
richiesto dal database. Per maggiori informazioni sulla sintassi dei comandi si
consulti http://www.oracle.com.
L’accesso
al database avviene via ODBC ma è disponibile un assembly che consente di
colloquiare direttamente con il database per rendere più performante
l’accesso ai dati. Se si mantiene l’accesso via ODBC sul client deve essere
presente un driver tale da svolgere questo compito ( es. “Oracle in XE”,
“Microsoft ODBC for Oracle” ecc.) che dovrà essere indicato sulla
ConnectionString unitamente ai parametri che permettono di raggiungere la base
dati (UID, pwd).
Esistono
diversi strumenti che permettono l’upsizing da Access a Oracle tra cui anche
UDB le cui modalità operative verranno affrontate di seguito in ogni caso sarà
necessario intervenire sulla base dati generata in quanto in Oracle non esiste
un campo DATETIME univoco ma almeno due (DATE e TIMESTAMP) in base alla gestione
che viene fatta del campo. DATE prevede la gestione della sola data come la
maggior parte dei campi DATETIME previsti da Gea.Net mentre TIMPSTAMP gestisce
ora e data come ad esempio l’ora inizio trasporto dei documenti di trasporto o
gli orari nella gestione risorse umane. Se per l’importazione si usa UDB
dovranno essere generati manualmente anche i campi MEMO (trasformati in VARCHAR(4000)
) e BOOLEAN (NUMBER)
MySQL
MySQL
è un database open source molto diffuso soprattutto nella comunità LINUX.
Maggiori informazioni e download in http://www.mysql.org.
Per quanto riguarda Gea.Net è il terzo database per diffusione (alle spalle di
Access e SQL Server) e costituisce un ottimo compromesso costi/prestazioni e
semplicità di gestione.
L’accesso
al database avviene via ODBC ma è disponibile un assembly che consente di
colloquiare direttamente con il database per rendere più performante
l’accesso ai dati. Se si mantiene l’accesso via ODBC sul client deve essere
presente il driver “MySQL connector / ODBC driver” che dovrà essere
indicato sulla ConnectionString unitamente ai parametri che permettono di
raggiungere la base dati (SERVER,DATABASE,UID, PWD,PORT).
Esistono
diversi strumenti che permettono l’upsizing da Access a MySQL come MySQL Front
il cui ulteriore sviluppo purtroppo è stato abbandonato. Tuttavia è tuttora lo
strumento ideale per il nostro obiettivo.
PostgreSQL
MySQL
è un altro database open source la cui diffusione è comunque notevolmente
inferiore a MySQL. Maggiori informazioni e download in http://www.postgreSQL.org.
Anche
in questo caso sul client deve essere presente il driver “PostgreSQL ANSI”
che dovrà essere indicato sulla ConnectionString unitamente ai parametri che
permettono di raggiungere la base dati (Data Source, Location, User ID,
Password).
Esistono diversi strumenti che permettono l’upsizing da Access a PostgreSQL tra cui anche UDB le cui modalità operative verranno affrontate di seguito in ogni caso sarà necessario intervenire sulla base dati generata in quanto in PostgreSQL non esiste un campo DATETIME univoco ma almeno due (DATE e TIME WITHOUT TIME ZONE) in base alla gestione che viene fatta del campo. DATE prevede la gestione della sola data come la maggior parte dei campi DATETIME previsti da Gea.Net mentre TIME WITHOUT TIME ZONE gestisce ora e data come ad esempio l’ora inizio trasporto dei documenti di trasporto o gli orari nella gestione risorse umane.