0

JDBC 驱动程序实现提供允许客户端与第三方数据库通信的低级细节。我只是好奇它在幕后做了什么。用不同语言编写的两个系统之间的通信通常通过 Web 服务进行。

jdbc 驱动程序是否使用 Web 服务在客户端和 db 服务器之间进行通信?还是我过于简单化了?

4

2 回答 2

2

编写 JDBC 驱动程序的人有多种选择:

  • 类型 1 驱动程序:使用通用 JDBC-ODBC 桥接器,实际上不制作驱动程序。
  • 类型 2:制作一个使用 JNI 调用本机客户端库中的函数的“包装器”。
  • 类型 3:连接到与数据库对话的“中间件”服务的通用驱动程序。
  • 类型 4:数据库通信协议的纯 Java 实现。

类型 3 驱动程序可能使用 Web 服务与中间件通信。其他类型的驱动程序最有可能通过 TCP/IP 套接字(如果数据库位于远程主机上)或其他合适的可靠传输,而不是通过 Web 服务,以特定于数据库的二进制协议进行通信。

于 2013-08-05T13:31:37.137 回答
0

您应该检查此链接,因为它向您展示了 JDBC 的工作原理。

现在提出您的问题:没有 JDBC 不使用 Web 服务。它连接到不同类型数据库的方式取决于数据库供应商,因为不同的数据库供应商提供自己的驱动程序实现,您只需要使用该实现即可。没有什么能比得上网络服务。每个数据库供应商都为您提供他们自己的一些 api 来访问数据库,它们映射到 Java 的 api 以访问通用的数据库。Java 为数据库操作提供了一个通用 api,它最终使用套接字与数据库进行操作和通信。

所以你需要阅读的是TCP/IP、Socket编程、IO和JDBC。请不要忘记检查链接,它肯定会帮助您理解这个概念。

于 2013-08-05T13:42:04.930 回答