ADO.NET
MySQL Logo

MySQL ADO.NET Provider

SQL-based Access to MySQL through ADO.NET for your custom .NET applications and SSAS.

download buy now

Other Database Technologies

The MySQL ADO.NET Data Provider enables user to easily connect to MySQL data from .NET applications. Rapidly create and deploy powerful .NET applications that integrate with MySQL-compatible database engines.

ADO architecture

MySQL .NET Connectivity Features

  • SQL-92 queries are seamlessly translated to MySQL syntax
  • Embedded SSH Tunneling support for secure MySQL access.
  • Wire Protocol ODBC Driver for MySQL, compatible with MySQL Client Protocol v4.1 and above
  • Embedded SSH tunneling enables secure connections to remote MySQL databases
  • Seamless integration with MySQL compatible solutions, like Google Cloud SQL, MariaDB, Amazon Aurora, Amazon Relational Database Service (RDS), etc.
  • Connect to live MySQL data, for real-time data access with the MySQL ODBC Driver
  • Full support for data aggregation and complex JOINs in SQL queries
  • Secure connectivity through modern cryptography, including TLS 1.2, SHA-256, ECC, etc.
  • Seamless integration with leading BI, reporting, and ETL tools and with custom applications via the MySQL Connector.

Target Service, API

The MySQL ADO.NET driver provides native connectivity to MySQL databases including MySQL 5.x, 8.x, MariaDB, Amazon RDS for MySQL, Azure Database for MySQL, and Google Cloud SQL for MySQL.

Schema, Data Model

Models MySQL with access to databases, tables, views, stored procedures, functions, and events. Dynamic metadata discovery with support for all MySQL data types including JSON and spatial types.

Key Objects

Databases, Tables, Views, Stored Procedures, Functions, Triggers, Events, and system tables. Access to information_schema and performance_schema for metadata and monitoring.

Operations

Full MySQL SQL dialect support with ANSI SQL-92 compliance. All DML operations, stored procedure execution, prepared statements, and MySQL-specific features. Supports transactions and batch operations.

Authentication

Standard MySQL authentication with Username/Password. Supports SSL/TLS connections, SSH tunneling, and MySQL native authentication plugins. Connection properties include Host, Port, Database, Username, Password.

Start a 30-day Free Trial Today

See what you can do with MySQL ADO.NET provider

SSAS Cube
SSAS Cube

Use MySQL from SQL Server Analysis Service (SSAS) multi-dimensional cubes. Keep your analytical data modeling and access to any source including cloud and on-premises.

Custom .NET Application
Custom .NET Application

The MySQL ADO.NET Provider allows developers to build applications that connect to MySQL using familiar SQL and Entity Framework. Integrate MySQL to your mission -critical applications or create easy side-by-side applications.

Reporting & BI
Low-Code Dev Platforms

You can connect from ADO.NET compliant low-code development tools:

Reporting & BI
Reporting Tools

You can connect MySQL from .NET-based reporting and analytics tools:

Standard ADO.NET Access to MySQL

The MySQL ADO.NET Provider offers the most natural way to access MySQL data from any .NET application. Simply use MySQL Data Provider objects to connect and access data just as you would access any traditional database. You will be able to use the MySQL Data Provider through Visual Studio Server Explorer, in code through familiar classes, and in data controls like DataGridView, GridView, DataSet, etc.

The CData ADO.NET Provider for MySQL hides the complexity of accessing data and provides additional powerful security features, smart caching, batching, socket management, and more.

Working with DataAdapters, DataSets, DataTables, etc.

The MySQL Data Provider has the same ADO.NET architecture as the native .NET data providers for SQL Server and OLEDB, including: MySQLConnection, MySQLCommand, MySQLDataAdapter, MySQLDataReader, MySQLDataSource, MySQLParameter, etc. Because of this you can now access MySQL data in an easy, familiar way.

For example:

using (MySQLConnection conn = new MySQLConnection("...")) {
	string select = "SELECT * FROM MySQLTable";
	MySQLCommand cmd = new MySQLCommand(select, conn);
	MySQLDataAdapter adapter = new MySQLDataAdapter(cmd);
	using (adapter) {
		DataTable table = new DataTable();
		adapter.Fill(table);		
		...
	}
}

More Than Read-Only: Full Update/CRUD Support

MySQL Data Provider goes beyond read-only functionality to deliver full support for Create, Read, Update, and Delete operations (CRUD). Your end-users can interact with the data presented by the MySQL Data Provider as easily as interacting with a database table.

using (MySQLConnection connection = new MySQLConnection(connectionString)) {
	MySQLDataAdapter dataAdapter = new MySQLDataAdapter(
	"SELECT Id, Where FROM MySQLTable", connection);
  
	dataAdapter.UpdateCommand = new MySQLCommand(
		"UPDATE MySQLTable SET Where = @Where " +
		"WHERE Id = @ID", connection);

	dataAdapter.UpdateCommand.Parameters.AddWithValue("@Where", "Where");
	dataAdapter.UpdateCommand.Parameters.AddWithValue("@Id", "80000173-1387137645");

	DataTable MySQLTableTable = new DataTable();
	dataAdapter.Fill(MySQLTableTable);

	DataRow firstrow = MySQLTableTable.Rows[0];
	firstrow["Where"] = "New Location";

	dataAdapter.Update(MySQLTableTable);
}

ADO.NET Provider Performance

With traditional approaches to remote access, performance bottlenecks can spell disaster for applications. Regardless if an application is created for internal use, a commercial project, web, or mobile application, slow performance can rapidly lead to project failure. Accessing data from any remote source has the potential to create these problems. Common issues include:

  1. Network Connections - Slow network connections and latency issues are common in mobile applications.
  2. Service Delays - Delays due to service interruptions, resulting in server hardware or software updates.
  3. Large Data - Intentional or unintentional requests for large amounts of data.
  4. Disconnects - Complete loss of network connectivity.

The CData ADO.NET Provider for MySQL solves many of these issues with support for replication queries that can be used to sync data to local databases, greatly improving the performance and dramatically reduce application bottlenecks.

More information about ADO.NET Provider performance capabilities are available in the included documentation.

Visual Studio Integration & Server Explorer

Working with the new MySQL ADO.NET Provider is easy. As a fully-managed .NET Data Provider, the MySQL Data Provider integrates seamlessly with the Visual Studio development environment as well as any .NET application.

As an ADO.NET Data Provider, MySQL ADO.NET Provider can be used to access and explore MySQL data directly from the Visual Studio Server Explorer.

It's easy. As a standard ADO.NET adapter, developers can connect the Server Explorer to MySQL ADO.NET Provider just like connecting to any standard database.

  • Add a new Data Connection from the Server Explorer and select the MySQL Data Source
  • Configure the basic connection properties to access your MySQL account data.

Explore all of the data available! MySQL ADO.NET Provider makes it easy to access live MySQL data from Visual Studio.

  • After configuring the connection, explore the feeds, views, and services provided by the MySQL Data Source.
  • These constructs return live MySQL data that developers can work with directly from within Visual Studio!

Developer Integration: Databind to MySQL

Connecting Web, Desktop, and Mobile .NET applications with MySQL is just like working with SQL Server. It is even possible to integrate MySQL ADO.NET Provider into applications without writing code.

Developers are free to access the MySQL ADO.NET Provider in whatever way they like best. Either visually through the Visual Studio Winforms or Webforms designers, or directly through code.

  • Developers can connect the MySQL Data Source directly to form components by configuring the object's smart tags.
  • Add a new Data Connection from the Server Explorer and select the MySQL Data Source. Then, select the feed, view, or services you would like to connect the object to.

Done! It's just like connecting to SQL Server.

  • Once the object is bound to the data source, applications can easily interact with MySQL data with full read/write (CRUD) support.

Download the MySQL ADO.NET driver today!