一、定义
- ODBC (Ope Database Connectivity),开放数据库互联,是微软公司开发和定义的一套数据库访问标准,用户也可以直接将sql语句送给ODBC。通过使用ODBC,应用程序能够使用相同的源代码和各种各样的数据库进行交互。下面是ODBC应用系统的体系结构。
一个基于ODBC的应用程序,对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。不论是SQL Server、Access还是Oracle数据库,均可用ODBC API进行访问。
ODBC的最大优点是能以统一的方式处理所有的数据库 - JDBC(JavaDatabase Connectivity)是Java与数据库的接口规范,JDBC定义了一个支持标准SQL功能的通用低层API,它由Java 语言编写的类和接口组成,旨在让各数据库开发商为Java程序员提供标准的数据库API。
JDBC API定义了若干Java中的类,表示数据库连接、SQL指令、结果集、数据库元数据等。它允许Java程序员发送SQL指令并处理结果。下图是JDBC的体系架构。
二、联系
JDBC是参考ODBC设计的,两者的相似性很多。
JDBC和ODBC都是用来连接数据库的启动程序,JDBC和ODBC由于具有数据库独立性甚至平台无关性,因而对Internet上异构数据库的访问提供了很好的支持。
JDBC与ODBC都是基于X/Open的SQL调用级接口;从结构上来讲,JDBC的总体结构类似于ODBC,都有四个组件:应用程序、驱动程序管理器、驱动程序和数据源,工作原理亦大体相同;在内容交互方面,JDBC保持了ODBC的基本特性,也独立于特定数据库。 而且都不是直接与数据库交互,而是通过驱动程序管理器。
三、区别
1. JDBC比ODBC更容易理解
这个主要是由语言特性决定的,ODBC用C来编写,JDBC用JAVA,C语言相比于JAVA更加抽象。另一方面是在ODBC中写一个查询,需要很多步骤,在JDBC中的数据库查询语句则简单很对,需求的源码比ODBC要少的多。JDBC数据库启动程序要比ODBC简易理解。
2. JDBC数据库驱动程序面向对象
JDBC用Java编写,完全遵循Java语言的优良特性。通常情况下,只要有Java功能需设计基础的用户都能在最短时间内了解JDBC驱动程序的架构,较量简易上手,能轻而易举的开发出强悍的数据库实际运用程序。而ODBC的话,由于其内部功能复杂,源代码编写要求高。为此即使是一个的C语言的高手,仍然需求花费不少的时间去了解那个数据库启动程序;在编写源代码的时间,还离不开有关的参考书本。
3. JDBC的移植性要比ODBC要好
通常情况下,安装完ODBC驱动程序之后,还需求经过确定的配置才能够应用。而不相同的配置在不相同数据库服务器之间不能够通用。也那是说,装一次需求配置一次。但是JDBC数据库驱动程序则不相同。假如采用JDBC数据库驱动程序的话,则只需要选取适当的 JDBC数据库驱动程序,就不需要额外的配置。在安装过程中,JDBC数据库驱动程序会自己完成有关的配置。为此JDBC的移植性要比ODBC要好。
标签:JDBC,Java,驱动程序,区别,odbc,数据库,ODBC,jdbc,SQL From: https://blog.51cto.com/u_16093792/6237875