本文翻译自http://www.mysqlab.net/knowledge/kb/detail/topic/odbc/id/5069
开发应用程序时,Windows应用程序开发人员通常可以选择使用Connector / ODBC和Connector/NET。本文将尝试解释两个应用程序与其理想用例之间的一些差异。
ODBC->Connector/ODBC
Connector/ODBC基于最初由Microsoft开发的ODBC标准。ODBC是一种开放标准,在多个平台上得到很好的支持。大多数数据库应用程序支持通用ODBC,通常可以与Connector/ODBC一起使用。
虽然Connector/ODBC得到广泛的支持,但它以通用化形式来实现。应用程序调用ODBC管理器,该管理器将这些调用传递给ODBC provider,ODBC provider又将调用转送给数据源(MySQL)的原生API。与MySQL API更直接的实现相比,这导致性能相对较差。
ADO.NET->Connector/Net
Connector / NET是一个以managed C#编写的.NET数据提供程序。Connector/Net遵循标准的ADO.NET实现方法,并且应该被大多数ADO.NET开发人员所熟悉。 Connector/Net本身实现了MySQL客户端API,在大多数情况下,与Connector / NET相比具有出色的性能。
Connector/Net支持任何可以使用ADO.NET提供程序的语言,包括C#,Managed C ++,VB.NET和Delphi。虽然ADO.NET支持相对广泛,但它没有Connector / ODBC支持范围广。
总结
一般的经验是在允许的条件下使用Connector/Net,如果应用或开发语言不支持ADO.NET,就选择Connector/ODBC。