JDBC

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,它是Java十三个规范之一。可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

ODBC简介

开放数据库互连(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。开放数据库互连(ODBC)是Microsoft提出的数据库访问接口标准。开放数据库互连定义了访问数据库API的一个规范,这些API独立于不同厂商的DBMS,也独立于具体的编程语言(但是Microsoft的ODBC文档是用C语言描述的,许多实际的ODBC驱动程序也是用C语言写的。)ODBC规范后来被X/OPEN和ISO/IEC采纳,作为SQL标准的一部分,具体内容可以参看《ISO/IEC 9075-3:1995 (E) Call-Level Interface (SQL/CLI)》等相关的标准文件。

两者之间的联系

JDBC和ODBC都是用来连接数据库的启动程序,JDBC和ODBC由于具有数据库独立性甚至平台无关性,因而对Internet上异构数据库的访问提供了很好的支持。

两者之间的区别

1.JDBC比ODBC更容易理解
从事编程工作的朋友都知道Java比C语言更好学,主要是因为Java语言是面向对象的更接近人的思维认识,更容易被人接受。而C语言就较为抽象,跟人的认识思维相差较大,其开发出来的产品也具有类似特点。在ODBC中一个的简单的查询,也需求分为好几块内容;而在ODBC驱动程序内部再去整合,做一些复杂的操作。这不仅降低了数据库启动程序的性能,而且也给程序开发者开发实际运用程序带来了确定的负面效果。而JDBC数据库启动程序在设计的时间就包含了大部份基本数据操作功能,为此在编写一些常规的数据库操作语句时,如查询、更新等等,其所需求的源代码比 ODBC要少的多。故从这方面来说,JDBC数据库启动程序要比ODBC简易理解。

2.JDBC数据库驱动程序是面向对象的
JDBC完全遵循Java语言的优良特性。通常情况下,只要有Java功能需设计基础的用户都能在最短时间内了解JDBC驱动程序的架构,较量简易上手,能轻而易举的开发出强悍的数据库实际运用程序。而ODBC的话,由于其内部功能复杂,源代码编写要求高。为此即使是一个的C语言的高手,仍然需求花费不少的时间去了解那个数据库启动程序;在编写源代码的时间,还离不开有关的参考书本。

3.JDBC的移植性要比ODBC要好。
通常情况下,安装完ODBC驱动程序之后,还需求经过确定的配置才能够应用。而不相同的配置在不相同数据库服务器之间不能够通用。也那是说,装一次需求配置一次。但是JDBC数据库驱动程序则不相同。假如采用JDBC数据库驱动程序的话,则只需要选取适当的 JDBC数据库驱动程序,就不需要额外的配置。在安装过程中,JDBC数据库驱动程序会自己完成有关的配置。为此JDBC的移植性要比ODBC要好。

从ODBC向JDBC过度
也许数据库编程以前采用的是ODBC驱动程序,而假如数据库编程目前需要采用JDBC驱动程序,那么能否出现顺利过渡呢?答案是肯定的。在JDBC驱动程序中有一类叫作JDBC-ODBC桥接启动程序。这种类别的JDBC数据库驱动程序其底层是经过ODBC驱动程序来连接数据库的。假如原先的实际运用程序是基于ODBC数据库驱动程序的,或者数据库没有帮助对应的JDBC驱动程序,则数据库编程能利用JDBC-ODBC桥接驱动程序来实现。也那是说,桥接驱动程序能利用现有的ODBC驱动程序来存取联系型数据库。为此者不仅能保留先前的开发架构(经过ODBC来存取数据),还能立即应用Java作为新的开发环境,从而出现ODBC数据库驱动程序到JDBC的顺利转型。

不过在采用这种桥接驱动程序的时间,需求留意几个难点。一是那个桥接驱动程序仍然需要用到ODBC数据库驱动程序。由于桥接驱动程序直接联系的对象是ODBC驱动程序,然后再经过ODBC驱动程序去访问数据库。为此在客户端必需先安装并配置好ODBC驱动程序。假如采用的是三层式的开发框架,也需求安装ODBC驱动程序。其次,在这种模式下,实际运用程序先调用JDBC,然后再经过JDBC调用ODBC,最后再跟数据库通信。显然其中间多了几个环节。由于其中间环节较量多,但数据访问出现难点的时候,就不太好查难点。这就好像一道水管,假如中间的接口多了的话,则除了漏水的几率就较量高。假如真的除了漏水的话,则查询漏水点的时间也会较量困难。为此笔者以为,采用桥接类别的JDBC驱动程序只是权宜之计。在适当的时间,数据库开发还是需要调整原先的开发架构,全部都转到JDBC驱动程序上来。桥接程序只是为数据库开发争取确定的时间。虽然那个转型过程中的阵痛是较痛的,但确是不可避免的。长痛不如短痛,笔者意见数据库开发还是及早停止过渡为好。并在估计的情况下,把以前的开发架构也停止调整,以采用真正意义上的JDBC驱动程序。

JDBC虽然在一定程度上比ODBC操作简单,容易理解。但是世间万物存在即有道理,并不是说JDBC好就所有的情况下都能使用JDBC,两者之间没有好坏之分,只是在特定的情况下能够选取合适的实现方式即可。

JDBC和ODBC的区别相关推荐

  1. 浅谈JDBC与ODBC的区别与应用

    谈到JDBC与ODBC的区别,JDBC和ODBC其实都是用来连接数据库的启动程序.ODBC中文名字叫做开放数据库互联,是微软技术人员开发的开放服务结构中有关数据库的一个组成部分,它建立一组相关的规范, ...

  2. 浅谈jdbc和odbc的区别

    jdbc简介:Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数 ...

  3. JDBC 与ODBC的区别

    一.ODBC(Open   DataBase   Connectivity   :  开放数据库连接)            ODBC  总体结构   应用程序     执行处理并调用odbc函数,提 ...

  4. JDBC与ODBC的区别与应用

    jdbc是使用通过JAVA的数据库驱动直接和数据库相连,而jdbc-odbc连接的是ODBC的数据源,真正与数据库建立连接的是ODBC! 建议使用JDBC直接连接,同时最好使用连接池! JDBC 是 ...

  5. java为什么不使用odbc_java jdbc和odbc的区别是什么?jdbc和odbc的关系是怎样的?

    对于jdbc和odbc你都了解多少呢?今天要给大家讲到的就是jdbc和odbc之间的内容,一起来了解一下jdbc和odbc的区别以及关系是怎样的吧! 下面先来给大家介绍一下jdbc和odbc之间的区别 ...

  6. JDBC、ODBC、OLE DB、ADO、ADOMD区别与联系

    ODBC: (Open Database Connectivity,开放数据库互连),它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口).这些API利用SQL来完成其大部分任务 ...

  7. Java系列之JDBC和ODBC之间的区别与联系

    JDBC简介 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,它是Java十三个规范之一.可以为多种关系数据库提供统一 ...

  8. JDBC和ODBC之间的区别

    转载自:JDBC和ODBC之间的区别 作者:青灯夜游 本文原创发布php中文网 补充:ODBC&JDBC简介 JDBC和ODBC都是API(应用程序编程接口),它帮助客户端的应用程序访问服务器 ...

  9. 木木的Java知识整理——JDBC与MyBatis的区别

    看了几篇大佬的相关整理,可以总结成如下几部分. JDBC与MyBatis的区别 一.各自定义 1.1 JDBC 1.2 MyBatis 二.JDBC与MyBatis的区别 一.各自定义 1.1 JDB ...

最新文章

  1. 火狐浏览器下DIV不能居中的解决办法
  2. js轮播图片小圆点变化_原生js实现轮播图(两种方法)
  3. 友善之臂编linux内核,友善之臂NanoPC-T3 Plus,s5p6818编译Linux内核流程
  4. 数据库上云如何顺利进行?6位专家直播助你一臂之力
  5. Python学习笔记_零碎知识
  6. Elastic 技术栈之 Logstash 基础
  7. Xgboost中特征重要性计算方法详解
  8. qq安全使用指南.txt
  9. 新基建浪潮下服务机器人进入快车道 思岚科技推动产业“加速起跑”
  10. EHOME协议在低功耗场景下使用介绍
  11. matlab 实现差分求导,matlab循环求导
  12. 如何在visio里将图形进行任意角度旋转
  13. 华为音频编辑服务实时变声,多种音色随意变换
  14. Android系统应用开发
  15. ue4 无限地图_基于UE4的开放世界地图架构
  16. 2022年双十一蓝牙耳机选哪款?便宜音质好的蓝牙耳机推荐
  17. 静下心来看一看花花世界花花人.
  18. Dell 服务器重装Windows Server 2016 系统教程
  19. CSAPP第五章家庭作业参考答案
  20. C# DateTime 24小时格式

热门文章

  1. 利用caffe在Windows下实现图像识别
  2. 海康威视的出海“生意经”
  3. 软件测试面试题--(含mysql,linux,出现最频繁)
  4. 新手怎么开网店?如何做好淘宝店?
  5. 【计算机网络】数据链路层详解
  6. linux ntfs exfat,在Linux中使用文件系统NTFS和exFAT的小结
  7. 微信小程序怎么装修页面
  8. 安全漏洞是如何被发现的?
  9. 基于RFID技术在服装智慧门店中的应用-rfid服装盘点
  10. openwrt 认证收费_OpenWrt下进行标准802.1X认证