我相信这可以追溯到Sun公司最初(1997年)的JDBC入门:
我们目前了解的JDBC驱动程序通常可以归为以下四类:
1. JDBC-ODBC桥加ODBC驱动程序:JavaSoft桥接产品通过ODBC驱动程序提供JDBC访问。请注意,ODBC二进制代码以及在许多情况下数据库客户端代码必须加载到使用此驱动程序的每个客户机上。因此,这种类型的驱动程序最适用于企业网络,其中客户端安装不是主要问题,或者适用于在三层架构中用Java编写的应用程序服务器代码。
2. 本机API部分Java驱动程序:这种驱动程序将JDBC调用转换为Oracle、Sybase、Informix、DB2或其他DBMS的客户端API上的调用。请注意,与桥接驱动程序一样,这种驱动程序风格需要在每个客户机上加载一些二进制代码。
3. JDBC-Net纯Java驱动程序:该驱动程序将JDBC调用转换为一个与DBMS无关的网络协议,然后由服务器将其翻译成DBMS协议。这个网络服务器中间件能够将它的纯Java客户端连接到许多不同的数据库。所使用的特定协议取决于供应商。通常来说,这是最灵活的JDBC替代方案。所有这些解决方案的供应商都可能提供适用于Intranet使用的产品。为了支持Internet访问,这些产品必须处理Web所施加的额外要求,例如安全性、通过防火墙的访问等等。
4. 本机协议纯Java驱动程序:这种驱动程序将JDBC调用直接转换为DBMS直接使用的网络协议。这允许客户机直接调用DBMS服务器,是Intranet访问的一个很好的解决方案。由于许多这些协议是专有的,数据库供应商本身将是主要来源。几个数据库供应商正在进行这方面的工作。
预计最终驱动程序类别3和4将成为从JDBC访问数据库的首选方式。驱动程序类别1和2是直接纯Java驱动程序尚未可用的过渡解决方案。类别1和2(未在下表中显示)可能会有一些变化,需要连接器,但这些通常不是最理想的解决方案。类别3和4提供了Java的所有优势,包括自动安装(例如,通过使用它的小应用程序下载JDBC驱动程序)。
请注意,它们实际上并没有将它们命名为Type 1、2、3和4,而是JDBC-ODBC桥加ODBC驱动程序、本地API部分Java驱动程序、JDBC-Net纯Java驱动程序和本地协议纯Java驱动程序。每个名称都很冗长,因此人们立即开始用它们的编号来称呼它们。