zoukankan      html  css  js  c++  java
  • 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  

     

  • 相关阅读:
    jbpm 为任务自由选择办理人
    我永远的 dell 15r
    select radio readonly
    面向对象的5条基本设计原则
    Java数据库缓存思路
    作为java应届生,面试求职那点事
    项目开发中数据字典设计实现缓存
    oracle 优化 —— 分区表
    myeclipse快捷键
    win8 安装myeclipse 失败 MyEclipse ForSpring 安装失败
  • 原文地址:https://www.cnblogs.com/xuan52rock/p/4597045.html
Copyright © 2011-2022 走看看