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.