130 likes | 209 Views
Database Programming with FireDAC. Bob Swart (aka “ Dr.Bob ”) Bob Swart Training & Consultancy (eBob42) www.eBob42.com Delphi Benelux 2016 Congress 26 May 2016, Eindhoven. Agenda. FireDAC Architecture Monitoring and Tracing Cached Updates TFDMemTable Local SQL
E N D
Database Programming with FireDAC Bob Swart(aka “Dr.Bob”) Bob Swart Training & Consultancy (eBob42) www.eBob42.com Delphi Benelux 2016 Congress 26 May 2016, Eindhoven http://www.eBob42.comBob@eBob42.com
Agenda • FireDAC Architecture • Monitoring and Tracing • Cached Updates • TFDMemTable • Local SQL • Migration from BDE, ADO, DBX (DataSnap) http://www.eBob42.comBob@eBob42.com
FireDAC Architecture • Universal Data Access Components • TFDManager, TFDConnection • TFDQuery, TFDTable, TFDStoredProc • TFDMemTable • TFDLocalSQL • TFDPhysxxxDriverLink • TFDGUIxWaitCursor http://www.eBob42.comBob@eBob42.com
Monitoring and Tracing • Monitoring DBMS connection (real-time) • FireDAC Monitor (tools menu) • Tracing between FD and DBMS (log) • TFDMoniFlatFile/Remote/CustomClientLink • EventKinds, ShowTraces, Tracing • Remote FDMonitor • Custom OnOutput event handler • TFDConnection.Params.MonitorBy http://www.eBob42.comBob@eBob42.com
Cached Updates • CachedUpdates = True • ChangeCount, Undo options • CancelUpdates / Apply/CommitUpdates • UpdateOptions • UpdateMode • RefreshMode http://www.eBob42.comBob@eBob42.com
TFDMemTable • In-memory datasets • Can contain multiple datasets! • Successor of TClientDataSet • No requirement for MIDAS.DLL or MidasLib • Useful in DataSnap applications http://www.eBob42.comBob@eBob42.com
Local SQL • TFDLocalSQL • Uses SQLite driver • TFDConnection, DriverName = SQLite • TFDPhysSQLiteDriverLink • Useful for combining tables from heterogeneous databases! http://www.eBob42.comBob@eBob42.com
Migration to FireDAC • BDE Migration • TSession TFDManager • TDatabase TFDConnection • TQuery TFDQuery • TSortedProc TFDStoredProc • TTable TFDTable http://www.eBob42.comBob@eBob42.com
Migration to FireDAC • ADO Migration • TADOConnection TFDConnection • TADOQuery TFDQuery • TADOSortedProc TFDStoredProc • TADOTable TFDTable • Not really necessary http://www.eBob42.comBob@eBob42.com
Migration to FireDAC • dbExpress Migration • TSQLConnection TFDConnection • TSQLQuery TFDQuery • TSQLSortedProc TFDStoredProc • TSQLTable TFDTabe • Need no TDataSetProvider + TClientDataSet is http://www.eBob42.comBob@eBob42.com
Migration to FireDAC • dbExpress DataSnap Migration • TSQLConnection TDSRestConnection • TClientDataSet TFDMemTabe • No IAppServer interface (normal data mod) • No TDataSetProvder (server side) • No TDSProviderConnection (client side) is http://www.eBob42.comBob@eBob42.com
Questions • Bob@eBob42.com • http://www.eBob42.com • ebob42 and drbob42 • http://facebook.com/drbob42 • http://twitter.com/eBob42 • http://nl.linkedin.com/in/drbob42 http://www.eBob42.comBob@eBob42.com