Da DBExpress a UniDac

Tempo fa lavorando sul mio CMS che usa come base dati SQLite (o MySQL) sono stato costretto a fare un passaggio dalla vecchia stuttura alla nuova.
Ho deciso di realizzare una piccola applicazione con Delphi XE3 per fare il passaggio dati.
Purtroppo il driver DBExpress di XE3  aveva molti problemi nel riconoscere i campi e dovevo valutare un’alternativa di driver DBExpress o qualche altra tipologia per l’accesso ai dati.
Poiché utilizzavo già il driver di DevArt per Firebird ho provato la trial di UniDac e da subito ho deciso di acquistare la libreria e provare ad eseguire anche un porting dei miei progetti.
UniDac di default è una tecnologia bidirezionale con varie specifiche aggiuntive, ma in modalità unidirezionale supporta il collegamento con il TClientDataSet.
Avendo scritto il codice basato sulla catena di componenti TSQLDataSet + TDataSetProvider + TClientDataSet ho deciso di creare un tool che eseguisse automaticamente questa conversione evitando di ripassare tutti i datamodule e cambiare i singoli componenti.
Il risutato finale è un piccolo tool che dovrebbe permettere una buona conversione del codice nei file .pas e .dfm, usando i TUniQuery in modo unidirezione e rimappando eventuali campi di tipo DateTime e Decimal.

Link tool: [download id="1"]

NB:
I componenti TSQLQuery, TSQLTable e TSimpleDataSet non sono stati testati su progetti reali.
Le TUniConnection devono essere riconfigurati da zero secondo le nuove specifiche UniDac.

 

Aggiornamento 10/06/2016:
Ho rilasciato il sorgente come open source:
https://github.com/alessandro-savoiardo/DBXtoUD

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *