JDBC和ODBC的联系与区别

        JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。
        SUN参考了ODBC,为JAVA设计了专用的数据库连接规范JDBC(JAVA Database Connectivity)。JDBC期望的目标是让Java开发人员在编写数据库应用程序时,可以有统一的接口,无须依赖特定数据库API,达到“ 一次开发,适用所有数据库”。虽然实际开发中,经常会因为使用了数据库特定的语法、数据类型或函数等而无法达到目标,但JDBC的标准还是大大简化了开发工作。
JDBC和ODBC的联系:
        1、JDBC是SUN公司参考ODBC设计的,两者具有很多相似性。
        2、JDBC和ODBC都是用来连接数据库的启动程序,JDBC和ODBC由于具有数据库独立性甚至平台无关性,因而对Internet上异构数据库的访问提供了很好的支持。
        3、JDBC与ODBC都是基于X/Open的SQL调用级接口;从结构上来讲,JDBC的总体结构类似于ODBC,都有四个组件:应用程序、驱动程序管理器、驱动程序和数据源,工作原理亦大体相同;在内容交互方面,JDBC保持了ODBC的基本特性,也独立于特定数据库。 而且都不是直接与数据库交互,而是通过驱动程序管理器。
JDBC和ODBC的区别:
    1、JDBC的移植性比ODBC好
        通常情况下,安装完ODBC驱动程序之后,还需求经过确定的配置才能够应用。而不相同的配置在不相同数据库服务器之间不能够通用。也那是说,装一次需求配置一次。但是JDBC数据库驱动程序则不相同。假如采用JDBC数据库驱动程序的话,则只需要选取适当的 JDBC数据库驱动程序,就不需要额外的配置。在安装过程中,JDBC数据库驱动程序会自己完成有关的配置。为此JDBC的移植性要比ODBC要好。
2、JDBC比ODBC容易理解容易使用
3、使用的语言不同
        JDBC在Java编程时使用,ODBC一般在C/C++编程时使用。ODBC不适合在Java中使用,Java要使用ODBC需要使用JDBC-ODBC桥接器,缺点较多,一般不使用,Java使用JDBC和厂家实现的驱动jar包实现访问数据库。