Developer Skill Sprints - Week 5 - Powerful Database Access with FireDAC and InterBase

Posted by on in Programming

This blog post contains the notes for week 5 of the developer skill sprint focusing on powerful database access with FireDAC and InterBase.

Modernizing Your VCL Apps

 

Live sessions every Tuesday
November 4 - December 23, 2014
6AM San Francisco / 9AM New York / 2PM London / 3PM Milan
11AM San Francisco / 2PM New York / 7PM London / 8PM Milan
5PM San Francisco / Wed 10AM Tokyo / Wed 12PM Sydney

The next round of Developer Skill Sprints are here! Join us for this 8-part series on modernizing your VCL apps from start to finish. We'll explore how to update your app's look and feel, utilize multiple processor cores in your app, scale your solution, and extend your apps to wearables and gadgets.


Notes

 

Week 5 - Powerful Database Access with FireDAC and InterBase.

 

 

All Skill Sprint Replays
embt.co/vcl-skill-sprint-youtube

 


Project Files

 

embt.co/vcl-week-5-files

 

Videos

FireDAC Tips, Tricks and News
embt.co/firedac-whats-new
The session shows how to solve traditional data access issues with existing and new FireDAC features such as new BLOB streaming, Batch Move, updated LocalSQL and more. The session is oriented toward business data application programmers who need high performance, low memory usage and stability of their applications.

InterBase Keynote
embt.co/interbase-keynote
If you need to manage distributed data over multiple locations then don't miss the product address for InterBase! The next generation of InterBase is coming soon and will be super charged with a powerful new change tracking engine that makes managing distributed datasets a whole load easier!

No App is An Island - Universal Enterprise Data Connectivity for the Multi-Device World
embt.co/firedac-Cary-Jensen
No App is An Island: Universal Enterprise Data Connectivity for the Multi-Device World
featuring Cary Jensen

FireDAC is the ultimate multi-device data access library. Enterprise data access can be challenging. While products like dbExpress have solved many of these problems, what is needed is a data access engine that can deal with the rapidly changing world of IT. Multiple devices, OSes, and form factors create a plethora of touch points. FireDACs high performance, unified API and native driver support are the answer.

In this webinar replay, you will learn how software developers can use FireDAC simple application. Then we'll take things up to the next level by moving our simple app to multiple device form factors, and scale it from a single back end to multiple clients.

DocWiki Articles

FireDAC Architecture and Overview
embt.co/firedac

Migrating BDE Applications to FireDAC
embt.co/bde-to-firedac

Performance of the Array DML Command (FireDAC)
embt.co/arrayDML

Data Explorer
embt.co/data-explore

Tutorial: Using a REST DataSnap Server with an Application and FireDAC
embt.co/memtable-ex

Local SQL (FireDAC)
embt.co/local-sql

 

Q/A

If my Windows application uses IBLite for a local database, does the application 'phone home' to an Embarcadero server to authenticate the license when it is run by the end user?
User app that uses IBlite will call home one time when the app first starts up to validate the license. It will not recall home again.

Are there any differences between the XE5 & XE7 version of FireDAC? I'm asking because Pawel is using Delphi XE5 for the presentation.
Check out the "what's new in FireDAC XE7: embt.co/firedac-whats-new

How does FireDAC relate to the use of ClientDataSet?  Are they completely different approaches?
FDmemTable is the FireDAC equivalent

Which of the many settings would you use to optimise e.g. a batch of 50,000 append operations to the same table with a TFDQuery
You can use Cached Updates and then apply updates.  also check out Batch operations in the FireDAC Docwiki

I have a datasnap app where i have an express connection and access to procs are created on the fly. Is firedac suited to this kind of app
FDJsonReflect

Can you use the bluetooth connection to access a local IB database on host PC
Yes - you'll need the mobile addon pack or enterprise and above and use datasnap or EMS or some other remote procedure call mechanism - REST, SOAP, etc.

Is there a runtime only version of the FireDAC monitor that can be used at a customer site for troubleshooting?
http://docwiki.embarcadero.com/RADStudio/XE5/en/Tracing_and_Monitoring_(FireDAC)

How easy is it to connect FireDAC components to a Sybase Advantage Database server? Is that what the TFDPhysADSDriverLink is for?
Connecting to Sybase would be very similar to connecting to InterBase. Yes, you would use TFDPhysADSDriver.

Is there a Wiki on deploying a FireDac Delphi Application to a client ?  Listing of modules that have to be part of the set up?
http://docwiki.embarcadero.com/RADStudio/XE7/en/Deploying_on_Windows_(FireDAC) should get you started on Windows.

Any examples on how to use stored procedures in a database from FireDAC?
TFDFireDAC Component

Do you need to use a FDGUIxWaitCursor when creating a Service or ISAPI DLL?  Would it be bad to add it anyway?
FDGUIxWaitCursor is required for all FireDAC applications. But when your application is GUI-less, then you should set FDGUIxWaitCursor.Proivider to 'Console'. Then you will have a "dummy" wait cursor.
 
In DBExpress and Oracle 11g, all Integers are represented as ftBCDfield. Is FireDAC reoresenting integers there as integers or BCD ?
FireDAC represents Oracle native integers as integers.
 
We converted our server side datasnap services to use Firedac and replace dbExpress, in the future will there be a client side Firedac component to replace TClientDataset that allows the applyupdates type of update?
Right now all FireDAC datasets support cached updates:
http://docwiki.embarcadero.com/RADStudio/XE7/en/Caching_Updates_(FireDAC)

 

 

 



About
Gold User, Rank: 8, Points: 399
Brian Alexakis is a Product Marketing Manager at Embarcadero Technologies. He is focused on leveraging the connected world of technology to build new experiences for the Internet of Things.

Comments

Check out more tips and tricks in this development video: