【问题标题】:What is the difference between .net data providers and odbc drivers?.net 数据提供者和 odbc 驱动程序有什么区别?
【发布时间】:2016-06-30 15:47:28
【问题描述】:

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

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

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

【问题讨论】:

    标签: asp.net .net odbc


    【解决方案1】:

    .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));
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多