This article spotlights the differences between the MyDirect .NET and the MySQL Connector/NET.
From interface point of view, the providers look pretty much alike. The question is, what features are supported and how they are supported. This article does not cover performance issues, as performance is approximately equal.
The following table enumerates major useful features that assist development of MySQL applications. Each feature in the table is briefly described later in the article.
| Feature | MyDirect .NET | MySQL Connector/NET |
|---|---|---|
| Connectivity | ||
| Direct mode to access database without MySQL client library | Yes | Yes |
| Wide client and server versions support | Yes | Partial |
| Secure connections support | Yes | No |
| Proxy connections support | Yes | No |
| Compression support | Yes | Yes |
| Unicode connections support | Yes | Yes |
| Advanced data access features | ||
| All MySQL data types support | Yes | Yes |
| All-in-one component to retrieve and manipulate data from MySQL server data source | Yes | No |
| MySqlScript to execute scripts | Yes | No |
| MySqlLoader for fast data loading | Yes | No |
| MySqlDump to backup and restore a database or its parts | Yes | No |
| .NET Framework features | ||
| 100% managed code | Yes | Yes |
| CLS-compliant | Yes | No |
| .NET Framework 2.0 and 3.0 support | Yes | Yes |
| .NET Framework 1.x support | Yes | No |
| .NET Compact Framework support | Yes | Yes |
| Mono Framework support | Yes | Yes |
| Advanced connection pooling | Yes | Yes |
| Asynchronous execution support | Yes | Yes |
| Paginal access to query result | Yes | No |
| Ability to retrieve metadata information | Yes | Yes |
| Ability of monitoring query and stored procedures execution | Yes | No |
| Data source enumeration | Yes | No |
| Database change notification support | Yes | No |
| IDE, design time | ||
| Integration with Visual Studio 2002 and 2003 | Yes | No |
| Advanced integration with Visual Studio 2005 | Yes | Yes |
| Integration with Borland Delphi | Yes | No |
| Help integrated into Visual Studio .NET | Yes | No |
| Advanced design-time editors | Yes | No |
| Design-time wizards | Yes | No |
| Other features | ||
| Support for Data Access Application Block in Enterprise Library | Yes | No |
| ASP.NET data providers: Membership provider, Role provider, Session State provider, Profile provider | Yes | Under |
| Easy to deploy | Yes | No |
| Free commercial usage | No | No |
| Free support for registered users during 1 year | Yes | No |
MySQL-specific Features
Of course, both data providers allow you to connect to the server and perform fundamental operations. So, common classes like MySqlConnection, MySqlCommand, MySqlDataReader or MySqlDataAdapter were not enumerated. The table shows that major advanced features are supported by the two data providers. MyDirect .NET provides extra components to manipulate data, scripts and packages. Additionally, MyDirect .NET has wider compatibility list.
In Direct mode MyDirect .NET talks to MySQL server in person, without calling any third party libraries. Connector/NET can do this too.
MyDirect .NET supports MySQL server versions 5.1, 5.0, 4.1, 4.0 and 3.23 including Embedded servers (starting with 4.1). MyDirect .NET also supports appropriate client versions. There is no client mode in Connector/NET.
MyDirect .NET allows you to use SSL and SSH protocols to connect to server. Connector/NET does not have this feature.
MyDirect .NET allows you to to use a proxy or bypass a firewall when connecting to server. Connector/NET requires direct access to server.
Both MyDirect .NET and Connector/NET are capable of compressing data that is transferred between client and server.
Both MyDirect .NET and Connector/NET support Unicode text encoding, which enables developers to work with any language.
Advanced data access features
Both MyDirect .NET and Connector/NET data providers support all existing MySQL types. For types that do not map directly to .NET Framework types there are special classes and structures.
The MySqlDataTable component in MyDirect .NET represents a single object that provides all of the functionality needed to retrieve and manipulate data from a MySQL server data source. It supports both connected and disconnected data access models. There is no counterpart in Connector/NET.
This MyDirect .NET component serves to execute series of SQL statements, either one by one or all at once. There is no counterpart in Connector/NET.
This MyDirect .NET component serves to load external data into the MySQL database. The component provides highest possible performance. There is no counterpart in Connector/NET.
This MyDirect .NET component serves to store a database or its parts as a script and also to restore database from the received script. There is no counterpart in Connector/NET.
.NET Framework Features
The table above makes clear that Connector/NET has partial support for major .NET features. None of the unsupported by .NET features is vital to development process, but some would aid or speed it up greatly. In addition, Connector/NET does not support .NET Framework 1.x, which means that it requires extra updates even for platforms that have the .NET Framework preinstalled - Windows XP and Windows 2003 Server.
MyDirect .NET and Connector/NET are written on pure managed code. They do not depend on any unmanaged library. This allows functioning in a restrictive environment (like on web servers), gives automatic optimization for x64 architecture.
Unlike MyDirect .NET, Connector/NET is not CLS-compliant.
Both MyDirect .NET and Connector/NET allow creating applications for .NET Framework 2.0 and 3.0.
Connector/NET does not allow creating applications for .NET Framework 1.x.
Both MyDirect .NET and Connector/NET allow creating applications for .NET Compact Framework.
Both MyDirect .NET and Connector/NET allow creating applications for Mono framework.
Both data providers utilize sophisticated mechanisms to optimize interaction with MySQL server. This balances network load and increases performance significantly.
Both data providers support asynchronous execution of methods that take most of time in database applications, that is, opening a connection, transferring large blocks of data, and other operations alike.
MyDirect .NET allows you to request from server a subset of rows that a statement would return in normal way. This helps to save memory and improve performance by stripping off unnecessary data.
Both data providers support MySqlConnection.GetSchema() method, which is standard .NET way to obtain information on schema objects.
MyDirect .NET provides MySqlMonitor component, which allows you to monitor dynamic SQL execution in applications that use MyDirect .NET. There is no analogue in Connector/NET.
This feature enables the application to generically obtain a collection of the MySQL data sources that the application can connect to. The capability is supported by MyDirect .NET.
This feature enables applications to receive notifications when there is a change in a query result set, schema objects, or the state of the database. Using Database Change Notification, an application can easily maintain the validity of the client-side cache. The capability is supported by MyDirect .NET.
IDE, design time
This part of the table demonstrates that Connector/NET has almost no design-time support. Connector/NET includes a plugin for Visual Studio 2005, but it has restricted functionality.
As Connector/NET does not support the .NET Framework 1.x, it can't be used with Visual Studio 2002 or 2003.
Both providers support new design-time features introduced in Visual Studio 2005, known as Data Designer Extensibility. These features allow developer to preview data, customize DataSets, and perform many other operations.
MyDirect .NET integrates with Delphi IDE and Delphi Help Collection. Connector/NET does not perform the integration.
MyDirect .NET integrates the documentation into Visual Studio .NET Help Collection. Connector/NET help is available only as html pages on the web site.
MyDirect .NET has components with greatly enhanced design-time tools that allow you to setup components in a true RAD manner. There is no counterpart in Connector/NET.
MyDirect .NET has wizards that leverage client-side application development.
Other features
This section of the table contains other aspects of developing applications with MySQL: interaction with useful technologies and licensing issues.
MyDirect .NET makes it easy to employ Microsoft Patterns and Practices in your application.
MyDirect .NET can be used as data source in ASP.NET 2.0 Provider Model, which allows you to develop DBMS-independent web applications. In Connector/NET this area is under development.
Applications built with MyDirect .NET in Direct mode do not require any other software installed on the computer, and can be installed on any available .NET Framework version.
Connector/NET is licensed under GPL or commercial license. It is freely distributed and can be downloaded from www.mysql.com web site, but commercial usage of Connector/NET requires purchase of a commercial license. MyDirect .NET is a commercial product and requires one-time registration fee.
MyDirect .NET provides free reliable online support (using web forum or e-mail) for registered users.
About dbForge Fusion for MySQL | MyDirect .NET Articles
© 2002-2008 Devart. All rights reserved.