ADO.NET 2.0中的DbProviderFactory是否支持MySql数据库?如果支持具体要心装那些组件?或者创建mysql 的 DbProviderFactory的代码怎么写?

解决方案 »

  1.   

    任何数据库都支持。它只是抽象类,具体的方法需要你自己去实现。MySQL里也有ADO.NET的类库。
      

  2.   

    貌似有MySql 的ODBC driver吧,
    网上搜搜.
      

  3.   

    System.Object 
      -System.Data.Common.DbProviderFactory
         -System.Data.Odbc.OdbcFactory 
         -System.Data.OleDb.OleDbFactory 
         -System.Data.OracleClient.OracleClientFactory 
         -System.Data.SqlClient.SqlClientFactory看上面的代码,可以看出这些Factory都是有对应的数据库厂商来实现的。
    在MySQL中确实也有一个对应的类,MySqlClientFactory。
      

  4.   

    public sealed class MySqlClientFactory : DbProviderFactory
    {
        // Fields
        public static readonly MySqlClientFactory Instance;    // Methods
        static MySqlClientFactory();
        public MySqlClientFactory();
        public override DbCommand CreateCommand();
        public override DbCommandBuilder CreateCommandBuilder();
        public override DbConnection CreateConnection();
        public override DbConnectionStringBuilder CreateConnectionStringBuilder();
        public override DbDataAdapter CreateDataAdapter();
        public override DbParameter CreateParameter();    // Properties
        public override bool CanCreateDataSourceEnumerator { get; }
    }
    这就是MySqlClientFactory的一个大概结构。其实你可以到www.mysql.com上下载一个MySql.Data.dll就行了。