JDBC驱动程序实现是如何工作的?

JDBC驱动程序实现是如何工作的?,jdbc,driver,Jdbc,Driver,JDBC驱动程序实现提供了允许客户机与第三方数据库通信的低级细节。我只是好奇它在幕后做什么。用不同语言编写的两个系统之间的通信通常通过web服务进行 jdbc驱动程序是否使用web服务在客户端和db服务器之间进行通信?还是我过于简单化了?编写JDBC驱动程序的人必须从以下方面进行选择: 类型1驱动程序:使用通用的JDBC-ODBC桥,而不是真正的驱动程序 类型2:制作一个“包装器”,使用JNI调用本机客户端库中的函数 类型3:连接到与数据库对话的“中间件”服务的通用驱动程序 类型4:数据库通信

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


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

编写JDBC驱动程序的人必须从以下方面进行选择:

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

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

您应该检查这一点,因为它向您展示了JDBC的工作原理。

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


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

JDBC驱动程序使用数据库的低级协议,这些协议通常不使用WebService实现,但对于套接字,我认为您应该首先了解什么是JDBC驱动程序,以及使用JDBC访问Java数据库的不同要求。“用不同语言编写的两个系统之间的通信通常通过web服务进行。”不,不是。它的出现时间比Web服务的出现时间要长得多。首先考虑FTP、telnet、SSH、HTTP本身。它的哪一部分是不确定的,@ Ajay++ 1用于这个极好的答案。AjayBhojak你的评论是无法理解的,我当然不知道你所说的“信息不应该被分享”到底是什么意思。这就是本网站的目的。也许你们在驱动程序实现中使用了SOAP和WSDL。您应该检查驱动程序API。这就是我的意思,因为您永远不会在驱动程序API中找到web服务客户机实现。EJP我写了“不确定信息不应共享”,这意味着您应该在知道该回答什么时回答。