ODBC驱动程序在内核空间或用户空间中运行?为什么?

时间:2016-12-16 21:16:01

标签: database odbc ipc

我正在研究数据库,我想知道ODBC驱动程序是否真的在内核空间中运行。使用套接字进行客户端连接会不会更容易?我能想到的唯一合理的解释是套接字会出现性能问题。还是有其他原因?

1 个答案:

答案 0 :(得分:1)

  1. ODBC不是协议!这是一个API。 ODBC不是关于如何与DBMS交谈。这是关于如何与知道如何与DBMS交谈的事情进行交谈。那东西是一个C库。它被称为“DBMS特定库”或“ODBC驱动程序”。 ODBC指定库必须具有的C函数(以及此函数的名称),以便可以用作ODBC驱动程序。 ODBC驱动程序实现DBMS特定的协议。它可以使用它想要与DBMS交谈的任何东西:套接字,管道,共享内存,鸽子,等等
  2. 还有一个有趣的东西叫做“ODBC-ODBC bridge”。它允许您远程连接到DBMS,而无需在本地安装DBMS特定的库。与协议类似,不是吗?

    1. 用户空间驱动程序很常见。所以ODBC库被称为“驱动程序”并不奇怪。在用户空间中实现所有逻辑并仅使用内核空间将数据发送到设备非常方便。