使用数据库供应商编写的 ADO.NET 提供程序是否消除了在机器上安装任何数据库驱动程序的需要?
我对 ADO.NET 的实际工作方式有点困惑。
ADO.Net 提供程序是一个数据库驱动程序。
但是,ADO.Net 提供程序(希望)是纯托管的,因此它们不需要任何安装。
有特定于数据库的 Ado.NET 提供程序,它们是数据库驱动程序的定制版本。例如:用于 SQL 服务器系列的 SQLClient定制版本iAnywhere 用于 Sybase db 的定制版本。
我们在 Ado.NET 中有 ODBC 驱动程序,它不是特定的,而是开箱即用的通用驱动程序。
这取决于他们如何编写提供程序。提供程序可以编写为包含任何驱动程序,但也可以编写为期望与单独安装在机器上的驱动程序通信。
例如,微软自己的 Sql Server 提供程序仍然希望您在每台机器上安装“本机客户端”。但是 system.data.sqlite 包含所有这些作为 sqlite 数据库提供程序的一部分。