Devart Oracle Data Access Components (ODAC) v12.0.2 Full Source

Oracle Data Access Components (ODAC) is a library of components that provides native connectivity...


Oracle Data Access Components (ODAC) is a library of components that provides native connectivity to Oracle from Delphi and C++Builder including Community Edition, as well as Lazarus (and Free Pascal) on Windows, Linux, macOS, iOS, and Android for both 32-bit and 64-bit platforms. The ODAC library is designed to help programmers develop faster and more native Oracle database applications.

ODAC, a high-performance and feature-rich Oracle connectivity solution, is an efficient native alternative to the Borland Database Engine (BDE) and standard dbExpress driver. It provides both possibilities of connection to Oracle through native Oracle data access and direct Oracle access from Delphi without Oracle Client.

Native Connectivity to Oracle
ODAC-based DB applications are easy to deploy, do not require installation of other data provider layers (such as BDE or ODBC), and that's why they can work faster than the ones based on standard Delphi data connectivity solutions. Moreover, ODAC provides an additional opportunity to work with Oracle directly via TCP/IP without involving Oracle Client.

Cross-Platform Solution for Delphi, C++Builder, and Lazarus
ODAC is a cross-platform solution for developing applications using various IDEs: RAD Studio, Delphi, C++Builder, Lazarus (and FPC) on Windows, Linux, macOS, iOS, Android, and FreeBSD for both x86 and x64 platforms. ODAC also provides support for the FireMonkey application development platform, which allows you to develop visually spectacular high-performance desktop and mobile native applications.

Supported target platforms
Windows 32-bit and 64-bit
macOS 64-bit
iOS 64-bit
Android 32-bit and 64-bit
Linux 32-bit and 64-bit
General usability
Direct access to server data. Does not require installation of other data provider layers (such as BDE and ODBC)
Interface compatible with standard data access methods, such as BDE and ADO
VCL, LCL and FMX versions of library available
Separated run-time and GUI specific parts allow you to create pure console applications such as CGI
Unicode and national charset support
Highly usable design time support
Easy to deploy
Network and connectivity
In Direct mode does not require Oracle client software and works directly through TCP/IP
Disconnected Mode with automatic connection control for working with data offline
Local Failover for detecting connection loss and implicitly reexecuting certain operations
Support for setting connection timeout values for Direct Mode
Support for OraNet.PacketSize to improve performance in VPN and Wireless networks
Secure connections with SSL, SSH, and HTTP/HTTPS tunneling (using SecureBridge)
Support for OS authentication
Support for Proxy Authentication
DBA privileges to open a session with
Support for Oracle 20c connection modes
Support for the change expired password
Connection using Service Name or SID in the Direct mode
Support for RAC Server
Support for both IPv6 and Ipv4 protocol
Support for IFILE in tnsnames.ora
Support for EZCONNECT connection string
Support for the latest versions of Oracle
Support for all versions of Oracle clients, including Instant Client
Support for all Oracle data types in both OCI and Direct modes
Support for Delphi 6, C++ Builder 6, and later versions up to RAD Studio 11 Alexandria
Support for Lazarus 2.0.12 and Free Pascal 3.2.0
Includes provider for UniDAC Express Edition
Support for reporting components, including InfoPower, ReportBuilder, FastReport
Support for all standard visual data-aware controls
Support for Professional Edition of Delphi and C++Builder for developing client/server applications.
Oracle technology support
Oracle Advanced Queuing support
Distributed transactions support with TOraTransaction component
Oracle package support
Support for Oracle alerts and pipes with TOraAlerter component
Support for Direct Path interface with TOraLoader component
Support for DBMS_TRACE package and SQLTrace functionality with TOraTrace
Support for Oracle Change notifications functionality of Oracle 10g with TOraChangeNotification component
Oracle Transparent Application Failover support
Oracle 9i scrollable cursor support
Multiple Oracle Homes support
Oracle sequence support
DML array operations support
Direct lob access support
Temporary LOB management routines
Temporary LOBs for updating LOB fields
OCI Connection Pooling, Proxy Session Pooling, and Statement Caching
Oracle optimizer control
ProxySession support
External Procedure support
Statement Caching
ROWID values retrieval
Overloaded stored procedures support
Support for WITH FUNCTION clause
Oracle data types
Support for all Oracle data types
Oracle Object (including NOT FINAL objects) types support
Support for Nested table
Support for PL/SQL table
Support for PL/SQL records
Support for REF CURSORs
Support for XMLTYPE datatype
Oracle 9i TIMESTAMP and INTERVAL data types support
High overall performance
Fast controlled fetch of large data blocks
Optimized string data storing
Advanced connection pooling
High performance of applying cached updates with batches
Caching of calculated and lookup fields
Expanded fields in TSmartQuery
Fast Locate in a sorted DataSet
Preparing of user-defined update statements
High performance batch processing
Intelligent fetch block size control
Advanced connection pooling
SmartFetch Mode enabling fast bi-directional navigation through large datasets
Local data storage operations
Database-independent data storage with TVirtualTable component
CachedUpdates operation mode
Local sorting and filtering, including by calculated and lookup fields
Local master/detail relationship
Master/detail relationship in CachedUpdates mode
Data access and data management automation
Automatic data updating with TOraQuery, TSmartQuery and TOraTable components
Automatic record refreshing and locking
Automatic query preparing
SmartRefresh option allows you to synchronize two or more datasets automatically
Support for ftWideMemo field type in Delphi 2006 and higher
Data Type Mapping
Support for Data Encryption in a client application
Extended data access functionality
Separate component for executing SQL and PL/SQL blocks
Simplified access to table data with TOraTable component
BLOB compression support
Support for using macros in SQL
NonBlocking mode allows background executing and fetching data in separate threads
Ability to customize update commands by attaching external components to TOraUpdateSQL objects
Deferred detail DataSet refresh in master/detail relationships
LargeInt fields support
MIDAS technology support
Ability to customize Oracle error messages with TOraErrorHandler
Structural representation and editing of Oracle objects
Fill DataSet with several REF CURSORs
Fill DataSet with object, array and nested table data
Object-oriented building of SELECT statements
Data exchange
Transferring data between all types of TDataSet descendants with TCRBatchMove component
Data export and import to/from XML (ADO format)
Ability to synchronize positions in different DataSets
Script execution
Advanced script execution features with TOraScript component
Support for executing individual statements in scripts
Support for executing huge scripts stored in files with dynamic loading
Ability to use standard SQL*Plus tool syntax in scripts
SQL execution monitoring
Extended SQL tracing capabilities provided by TOraSQLMonitor component and dbMonitor
Borland SQL Monitor support
Ability to send messages to dbMonitor from any point in your program
Display executing statement, all its parameters' values, and the type of parameters.
Visual extensions
Includes source code of enhanced TCRDBGrid data-aware grid control
Customizable connection dialog
Cursor changes during non-blocking execution
Design-time enhancements
DataSet Manager tool to control DataSet instances in the project
Oracle Package Wizard that simplifies working with PL/SQL Packages
Advanced design-time component and property editors
Automatic design-time component linking
Easy migration from BDE with Migration Wizard
More convenient data source setup with the TOraDataSource component
Syntax highlighting in design-time editors

Secure Connection
You can use ODAC with SecureBridge components to embed an SSL, SSH, or HTTP/HTTPS protocols into your application developed in Delphi, C++Builder, Lazarus, and Free Pascal for establishing a secure Oracle database connection.

Direct Mode
Allows your application to work with Oracle directly via TCP/IP without involving Oracle Client, thus significantly facilitating deployment and configuration of your applications.

IDE Compatibility
Our product is compatible with the latest IDE versions and editions including Community Edition: Embarcadero RAD Studio 11 Alexandria, Delphi 11 Alexandria, C++ Builder 11 Alexandria, Lazarus (and FPC). It is also compatible with the previous IDE versions since Delphi 6 and C++Builder 6.

All our components and libraries are designed to help you write high-performance, lightweight data access layers, therefore they use advanced data access algorithms and techniques of optimization.

Mobile Development
Development for iOS and Android mobile devices using ODAC becomes still easier, as ODAC allows your mobile applications to work with Oracle database as simply as desktop applications do.

Data Type Mapping
If you want to make custom correspondence between Oracle and Delphi data types, you can use a simple and flexible Data Type Mapping engine provided by ODAC.

Use our freeware dbMonitor tool to monitor and analyze all the DB calls made by your application using ODAC. dbMonitor performs per­component tracing of SQL statement execution, commits, rollbacks, etc.

Database Compatibility
Our product supports Oracle servers 21с, 19c, 18c, 12c, 11g, 10g, 9i, 8i, 8.0, including Oracle Express Edition 11g and 10g.

Development Platforms
All major GUI frameworks supported: develop VCL applications for Windows or cross-platform FMX applications in Delphi, as well as LCL applications for Windows, macoS, or Linux in Lazarus.

12.0.2 09-Dec-21

The PoolId connection pool option is added
Fixed bug with LONG parameters in Oracle 11 and earlier
Fixed bug with "Unknown data type" error in OraNestedTable
Fixed bug with UnicodeEnvironment in pooling
Fixed bug with leading spaces getting trimmed in strings loaded from XML in VirtualTable
Fixed bug with freezing multiply connection pools in threads
Fixed bug with using the AsDate property when working with fields of the ftDate type
Fixed bug with updating the state of records at applying cached updates

Additional Information