基于 DBMS 的驱动程序

基于 DBMS 的驱动程序与提供独立数据库引擎供驱动程序使用的数据源(如 Oracle 或 SQL Server)一起使用。 这些驱动程序通过独立引擎访问物理数据;也就是说,它们向引擎提交 SQL 语句并从中检索结果。

由于基于 DBMS 的驱动程序使用现有的数据库引擎,因此它们通常比基于文件的驱动程序更容易写入。 尽管可以通过将 ODBC 调用转换为本机 API 调用轻松实现基于 DBMS 的驱动程序,但这会导致驱动程序变慢。 实现 DBMS 驱动程序的更好方法是使用底层数据流协议,这通常是本机 API 所做的。 例如,SQL Server 驱动程序应使用 TDS(SQL Server 的数据流协议),而不是数据库库(SQL Server 的本机 API)。 此规则的例外情况是当本机 API 是 ODBC。 例如,Watcom SQL 是一个独立引擎,驻留在应用程序所在的同一台计算机上,直接作为驱动程序加载。

基于 DBMS 的驱动程序充当客户端/服务器配置中的客户端,数据源充当服务器。 在大多数情况下,客户端(驱动程序)和服务器(数据源)驻留在不同的计算机上,尽管两者可以驻留在同一台计算机上运行多任务作系统。 第三种可能性是位于驱动程序和数据源之间的 网关 。 网关是一种软件,使一个DBMS看起来像另一个DBMS。 例如,写入到使用 SQL Server 的应用程序还可以通过 Micro Decisionware DB2 网关访问 DB2 数据;此产品使 DB2 看起来类似于 SQL Server。

下图显示了基于 DBMS 的驱动程序的三种不同的配置。 在第一个配置中,驱动程序和数据源驻留在同一台计算机上。 第二种是驱动程序和数据源位于不同的计算机上。 第三,驱动程序和数据源位于不同的计算机上,网关位于它们之间,驻留在另一台计算机上。

基于 DBMS 的驱动程序 的三种配置