JDBC 与ODBC的区别

一、ODBC(Open DataBase Connectivity : 开放数据库连接) ODBC 总体结构 应用程序 执行处理并调用odbc函数,提交sql语句并检索结果 Driver Manager 管理应用程序和驱动程序之间的通讯,根据应用程序加载并卸载驱动程序, 处理odbc函数调用,获把它们传送到驱动程序 驱动程序 处理odbc函数调用,把sql语句提交到数据源,并返回结果到应用程序,如有必要, 驱动程序修改一个应用程序请求,以使请求与相关的DBMS支持的语法一致 数据源 用户要访问的DBMS,以及相关os Application | | Driver Manager | | | | | | 驱动程序 驱动程序 驱动程序 | | | 数据源 数据源 数据源 结合现实的高层开发工作流程如下: 1.数据应用系统首先获得在ODBC数据源管理器中建立的DSN(存储了与数据提供程序连接的详细信息包含数据库位置、数据库类型及相应的ODBC驱动程序等),然后 Driver Manager依赖一种叫做数据库独立的交流(Database Indepedent Communications Technology)的技术与数据源建立联系(其中涉及客户端和服务器端多种Agent对象的问题,详情不叙,可参见下图). 2.Driver Mangaer调用特定ODBC驱动程序将ODBC标准API转化为适用于具体数据库系统的函数调用(数据库特征不同之处也在这里翻译如SQL语法差异等),然后经由客户端的Request Agent发送到数据源. 3.数据源Database Agent处理操作,将结果返回到客户端的Request Agent,再向上经Driver(这里会有翻译和标准化错误码的行为)、Driver Mangaer返回给Application. 需要说明的是定义和操作光标、维护事务、负责任何与访问数据源的必要软件层进行交互(包括与底层网络或文件系统接口的软件)等行为亦由驱动程序完成. 结合ODBC API调用顺序描叙工作流程:初始化(分配环境--->分配连接句柄--->与服务器连接--->分配语句句柄)-------->SQL处理(语句处理和检索部分)-------->终止(释放语句句柄--->与服务器断开--->释放连接句柄--->释放环境). 二、JDBC(Java DataBase Connectivity : Java数据库连接) JDBC设计很多借鉴于ODBC: 1.JDBC与ODBC都是基于X/Open的SQL调用级接口 2.JDBC很多设计思想沿袭了ODBC,包括许多抽象和SQL CLI实现 3.JDBC的总体结构类似于ODBC,有四个组件:应用程序、驱动程序管理器、驱动程序和数据源,工作原 理亦大体同于ODBC. 1.JDBC保持了ODBC的基本特性,也独立于特定数据库. 2.使用相同源代码的应用程序通过动态加载不同的JDBC驱动程序,可以访问不同的DBMS.连接不同的 DBMS时,各个DBMS之间仅通过不同的URL进行标识. 3.JDBC的DatabaseMetaData接口提供了一系列方法,可以检查DBMS对特定特性的支持,并相应确定有什 么特性,从而能对特定数据库的特性予以支持 4.JDBC也支持在应用程序中同时建立多个数据库连接,采用JDBC可以很容易地用SQL语句同时访问多个 异构的数据库,为异构的数据库之间的互操作奠定基础 Java的驱动解决方案有四种:1.JDBC-ODBC Bridge 2.本机API/集团式Java驱动程序 3.网络协议/全Java 4.本机协议/全Java

(0)

相关推荐

  • Aqua Data Studio 18汉化安装破解教程(附DateStopper破解下载)

    Aqua Data Studio是一款完整IDE的数据库开发工具,拥有数据库查询.管理.比对和源码控制等功能,可用于创建.编辑和执行SQL的管理工具脚本编写,以及浏览和修改数据库内容,支持大多数常见的 ...

  • CentOS7安装mysql数据库

    安装完Centos7,迫不急待的想安装mysql数据库,却没想到走了很多弯路,后来经过查资料,才知道了在Centos7中用MariaDB代替了mysql数据库. 准确来说,本文的标题有点误导的意思,本 ...

  • 一维码和二维码的区别与制作

    条形码是将多个宽度不等的黑条和空白按照一定的编码规则排列,用以表达不同的信息,目前条码分有两种:一维码和二维码.接下来我们看一下一维码和二维码有什么区别. 一维码可提高信息录入速度,但是只能水平表达信 ...

  • 图解WIN7下创建ODBC数据源到SQL Server新数据源

    本篇将向大家介绍如何在WIN7下创建ODBC数据源到SQL Server新数据源的步骤. 操作方法 01 单击[开始]-->[控制面板]-->[ODBC],如下图所示: 02 然后打开[O ...

  • java中JDBC的使用!

    前提是你会使用了一款数据库软件. windows下最简单的一种连接数据库的方式就是采用ODBC,因此JDBC中专门提供了可以连接ODBC数据源的驱动程序--JDBC-ODBC连接桥. ODBC(ope ...

  • jdbc连接oracle数据库

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  • JDBC访问数据库步骤详解

    对于很多Java初学者来说,JDBC访问数据库是一个复杂的过程,本文为大家详细列举JDBC访问数据库步骤! 操作方法 01 加载注册驱动 首先通过数据库厂商网站,获得JDBC驱动文件及驱动的文档说明, ...

  • iphone4s水货和行货有什么区别,不怕水货

    iphone4s水货和行货有什么区别 为了帮助新手辨别行货与水货,知道的就不用看了(不喜勿喷) 最近各位锋友都买了苹果最新产品4S,但是却不知道货源是否行货还是水货,可能还被卖家忽悠,下面为大家介绍怎 ...

  • 安卓手机水货和行货,翻新机区别在哪里?怎么辨别

    最近朋友想买手机,但不清楚什么是水货行货,其实这个词早就在很久就已经出现了,只是说有塞班时代到安卓时代,水货又多了一些概念。但终归还是不理本宗。其实,在小编看来,水货行货都是好货。关键是得自己会挑,因 ...