【问题标题】:Difference between driver and provider驱动程序和提供程序之间的区别
【发布时间】:2013-10-18 02:15:02
【问题描述】:

数据库中的驱动程序和提供程序有什么区别?有什么解释将不胜感激。

示例:ADO.NET driver for MySQLproviderName="System.Data.EntityClient"

【问题讨论】:

标签: c# .net sql oracle


【解决方案1】:

来自 MSDN 论坛:

驱动程序是安装在工作站或服务器上的程序;它允许程序与数据库管理系统 (DBMS) 交互。例如,JDBC 驱动程序通过 J2EE 中可用的标准 JDBC 应用程序接口 (API) 提供数据库连接。

数据提供者是一组用于与数据源通信的库。例如,用于 SQL 的 SQL 数据提供者、用于 Oracle 的 Oracle 数据提供者、用于访问的 OLE DB 数据提供者、excel 和 MySQL。它充当应用程序和数据源之间的桥梁,用于从数据源检索数据并将对该数据的更改协调回数据源。

来源:MSDN-Forum

【讨论】:

  • 还是不太清楚。让我给你一个可能会让事情更清楚的场景。机器 A 安装了带有少量数据库的 SQL Server。机器 B 已经安装了 SSMS,借助它我们可以看到数据库内容。在机器 C 上,有一个 .Net exe 正在运行,它与机器 A 上安装的数据库连接,并使用 C# ADO .Net 类写入其表中。现在您能详细说明一下将安装哪些所有机器的数据库驱动程序以及将安装哪些所有机器的数据库提供程序吗?
  • 数据提供者(一组 *.dll 文件)最终使用数据库驱动程序与数据库交互以进行 CRUD 操作是否正确?
  • @RBT,也许Wikipedia 的这句话会有所帮助:“OLE DB-ODBC 桥由一个 OLE DB 提供程序组成,它使用 ODBC 驱动程序的服务连接到目标数据库。这个提供程序将 OLE DB 方法调用转换为 ODBC 函数调用。"
【解决方案2】:

Provider 是与特定数据库(如 Sql Server、Oracle)的连接,但我们会导入 using system.data.msdaorausing system.data.sqlclient 等命名空间。

写入连接类后需要字符串连接字符串需要4条语句uid、pwd、数据库、服务器。

使用cn.Open方法打开连接后。

执行语句后。

连接关闭后。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多