Data Access Components for MySQL Overview

Data Access Components for MySQL (MyDAC) is a library of components that provides direct access to MySQL database servers from Delphi, Delphi for .NET, C++Builder and Kylix. MyDAC can connect directly to MySQL server or work through the MySQL client library. The MyDAC library is designed to help programmers develop faster and cleaner MySQL database applications.

MyDAC is a complete replacement for standard MySQL connectivity solutions and presents an efficient alternative to the Borland Database Engine for access to MySQL.


MyDAC Palette

Advantages of MyDAC Technology

MyDAC is a direct connectivity database wrapper built specifically for the MySQL server. MyDAC offers wide coverage of the MySQL feature set, supports both client and direct connection modes, and emphasizes optimized data access strategies.

Wide Coverage of MySQL Features

By providing access to the most advanced database functionality, MyDAC allows developers to harness the full capabilities of the MySQL server and optimize their database applications. MyDAC features complete support of row-level locking, HANDLER statements, and MySQL administration tasks.

Native Connection Options

MyDAC offers two connection modes to MySQL: direct connection over the network in Direct mode and connection through the standard MySQL Client in Client mode. MyDAC-based database applications are easy to deploy, do not require installation of other data provider layers (such as BDE), and tend to be faster than those that use standard data connectivity solutions.

Optimized Code

The goal of MyDAC is to enable developers to write efficient and flexible database applications. The MyDAC library is implemented using advanced data access algorithms and optimization techniques. Classes and components undergo comprehensive performance tests and are designed to help you write high-performance, lightweight data access layers.

Compatibility with Standard Data Access Components

The MyDAC interface retains compatibility with standard VCL data access components, like BDE. Existing BDE-based applications can be easily migrated to MyDAC and enhanced to take advantage of MySQL-specific features. Project migration can be automated with the BDE Migration Wizard.


How Does MyDAC Work?

MyDAC allows you to connect to MySQL in two ways: in Direct mode or in Client mode.

In Direct mode, MyDAC connects to MySQL directly without using MySQL client software. In Client mode, MyDAC connects to MySQL through the MySQL client library. The MySQL client library is supplied with the MySQL server.

In comparison, the Borland Database Engine (BDE) uses several layers to access MySQL, and requires additional data access software to be installed on client machines.

The BDE data transfer protocol is shown below.

BDE Connection Protocol

BDE Connection Protocol

Using MyDAC in Client mode allows your application to avoid using BDE and ODBC.

MyDAC Connection Flow [Client Mode]

MyDAC Connection Flow [Client Mode]

Using MyDAC in Direct mode provides the optimal transfer route.

MyDAC Connection Flow [Direct Mode]

MyDAC Connection Flow [Direct Mode]


Components

All editions of MyDAC include the following basic components:

  • TMyConnection - lets you set up and control connections to MySQL database server
  • TMyQuery - uses SQL statements to retrieve data from MySQL table or tables and supply it to one or more data-aware components through a TDataSource component and provides flexible data update functionality
  • TMyTable - allows to retrieve and update data single table without writing SQL statement
  • TMyStoredProc - executes stored procedures and functions
  • TMyCommand - executes SQL statements and stored procedures, which do not return rowsets
  • TMyScript - executes sequence of SQL statements
  • TMyUpdateSQL - lets you tune update operations for a DataSet component
  • TMyDataSource - provides an interface between a MyDAC dataset components and data-aware controls on a form
  • TMySQLMonitor - allows to monitor dynamic SQL executing in MyDAC based applications
  • TMyConnectDialog - allows you to build custom prompts for usernames, passwords, and servers
  • TCRDBGrid - extends TDBGrid capabilities, provides visual access to filters and incremental search
  • TVirtualTable - provides dataset functionality for data that has no real database connection
  • MyDataAdapter - .NET component, uses TDataSet as data source for retrieving and saving data to System.Data.DataSet

MyDAC Professional Edition and MyDAC Developer Edition include the following additional components:

  • TMyLoader - provides quick loading data to MySQL database
  • TMyDump - serves to store a database or its parts as a script and also to restore database from received script
  • TMyBackup - serves for backup copying specified tables on the server
  • TMyServerControl - serves to control the server and execution of standard service tasks
  • TMyEmbConnection - is used to establish connection to MySQL Embedded server
  • TMyBuilder - serves to manage SQL Builder for MySQL Add-in
  • TMyMetaData - retrieves metadata on specified SQL object
  • TCRBatchMove - transfers data between all types of TDataSet descendants

Key Features

The following list describes the main features of Data Access Components for MySQL.

  • Direct access to server data without using client library. Does not require installation of other data provider layers (such as BDE and ODBC)
  • VCL, VCL.NET, and CLX versions of library available
  • Full support of the latest versions of MySQL Server
  • Support for all MySQL Server data types
  • Disconnected Model with automatic connection control for working with data offline
  • Local Failover for detecting connection loss and implicitly reexecuting certain operations
  • All types of local sorting and filtering, including by calculated and lookup fields
  • Automatic data updating with TMyQuery, TMyTable, and TMyStoredProc components
  • Unicode and national charset support
  • Supports many MySQL-specific features, such as locking, SET and ENUM types
  • Advanced script execution functionality with TMyScript component
  • Support for using macros in SQL
  • Integration with dbForge Fusion for MySQL for performing advanced database development and administration tasks
  • Easy migration from BDE with Migration Wizard
  • Lets you use Professional Edition of Delphi and C++Builder to develop client/server applications
  • Includes annual MyDAC Subscription with Priority Support
  • Licensed royalty-free per developer, per team, or per site

See All Features


MyDAC Editions

Data Access Components for MySQL comes in four editions: MyDAC Standard Edition, MyDAC Professional Edition, MyDAC Developer Edition, and MyDAC Trial Edition.

MyDAC Standard Edition includes the MyDAC basic connectivity components and the MyDAC Migration Wizard. MyDAC Standard Edition is a cost-effective solution for database application developers who are looking for overall high performance connectivity to MySQL.

MyDAC Professional Edition shows off the full power of MyDAC, enhancing MyDAC Standard Edition with support for MySQL-specific functionality and advanced dataset management features.

MyDAC Developer Edition is a bundle package of MyDAC Professional Edition with dbForge Fusion for MySQL, an advanced add-in for MySQL database development and administration.

MyDAC Trial Edition is the evaluation version of MyDAC. It includes all the functionality of MyDAC Professional Edition with a trial limitation of 60 days. Kylix, C++Builder, and supported .NET IDEs have additional trial limitations.

You can get Source Access to the implementation of all the component classes in MyDAC by purchasing the special MyDAC Professional Edition with Source Code or MyDAC Developer Edition with Source Code.

MyDAC Edition Matrix

Feature Developer Professional Standard Trial
Base Components

(TMyConnection, TMyQuery, TMyCommand, TMyTable, TMyStoredProc, TMyUpdateSQL, TMyConnectDialog, TMySQLMonitor, TMyScript, TMyDataSource, TVirtualTable, TCRDBGrid, MyDataAdapter)

+ + + +
Additional Components

(TMyLoader, TMyDump, TMyBackup, TMyServerControl, TMyEmbConnection, TMyBuilder, TMyMetaData, TCRBatchMove)

+ +   +
Design-time features, including component editors and property editors + + + +
DataSet Manager + +   +
Migration Wizard + + + +
dbForge Fusion for MySQL +      
Trial limitations       +

Compatibility

MyDAC supports MySQL server versions 5.1, 5.0, 4.1, 4.0, and 3.23.

MyDAC is compatible with the following IDEs:

Click to
    visit Turbo Delphi web site
Click to visit Turbo Delphi
    for .NET web site
Click to visit Turbo
    Delphi C++ web site

MyDAC only supports Professional, Enterprise, and Architect IDE editions. Also, MyDAC does not support Kylix Open Edition.


MyDAC Design-Time View

Data Access Components for MySQL design-time