.net数据提供者和odbc驱动程序有什么区别?

时间:2016-06-30 15:47:28

标签: asp.net .net odbc

您能帮我理解这两种连接数据库技术的区别吗?

我是数据库连接领域的新手,但您是否可以解释具体示例在每种情况下使用哪种技术?例如,如果我正在使用Visual Studio开发应用程序并与MySQL连接以及为什么要使用它,我应该使用什么?

对于专业人士来说,这个问题可能看起来很愚蠢,但如果你能为我澄清,我会非常感激。

1 个答案:

答案 0 :(得分:0)

.NET数据提供程序是一种提供对数据源的访问的软件组件。它们专门设计用于.NET应用程序(C#,VB.NET等),并且至少具有一些标准类/函数:Connection,Command,DataReader,DataAdapter(类似于本机System.Data.SQLClient类)。

ODBC驱动程序非常相似,但是使用ODBC标准编写,虽然它可以在应用程序中以编程方式使用,但它也可以用作任意数量的流行BI /报告/ ETL工具中的数据连接器(如Tableau,QlikView,PowerBI等)。要在.NET应用程序中使用ODBC驱动程序,您需要使用Microsoft.Data.ODBC library

对于您的用例,您将需要使用ADO.NET数据提供程序,以便确保您使用的是专门设计用于.NET应用程序的产品。一些基本代码看起来类似于以下内容:

string connString = "server=XXX.XXX.XXX.XXX;database=myDatabase;user=myUser;password=myPassword;...";

using (MySQLConnection conn = new MySQLConnection(connString){

  MySQLCommand cmd = new MySQLCommand("SELECT * FROM some_table", conn);
  MySQLDataReader rdr = cmd.ExecuteReader();

  while(rdr.Read()) {

    Console.WriteLine("=================");

    for (int i=0; i<rdr.FieldCount; i++) {
      Console.WriteLine(rdr.GetName(i) + ":\t\t" + rdr.GetValue(i));
    }
  }
}