什么是JDBC? 

    JDBC, 全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可訪问各类关系数据库。JDBC也是java核心类库的一部分。

JDBC的最大特点是它独立于详细的关系数据库。与ODBC (Open Database Connectivity)类似, JDBC API 中定义了一些Java类分别用来表示与数据库的连接(connections), SQL语句(SQL statements), 结果集(result sets)以及其他的数据库对象, 使得Java程序能方便地与数据库交互并处理所得的结果。使用JDBC, 全部Java程序(包括Java applications , applets和servlet)都能通过SQL语句或存储在数据库中的过程(stored procedures)来存取数据库。

    要通过JDBC来存取某一特定的数据库。必须有对应的JDBC driver。它往往是由生产数据库的厂家提供,是连接JDBC API与详细数据库之间的桥梁。

通常。Java程序首先使用JDBC API来与JDBC Driver Manager交互,由JDBC Driver Manager加载指定的JDBC drivers, 以后就能够通过JDBC API来存取数据库。

ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分。它建立了一组规范,并提供了一组对数据库訪问的标准API(应用程序编程接口)。这些API利用SQL来完毕其大部分任务。ODBC本身也提供了对SQL语言的支持,用户能够直接将SQL语句送给ODBC。

一个基于ODBC的应用程序对数据库的操作不依赖不论什么DBMS,不直接与DBMS打交道,全部的数据库操作由对应的DBMS的ODBC驱动程序完毕。也就是说。不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行訪问。

由此可见。ODBC的最大长处是能以统一的方式处理全部的数据库。 

一个完整的ODBC由下列几个部件组成: 

应用程序(Application)。

ODBC管理器(Administrator)。该程序位于Windows 95控制面板(Control Panel)的32位ODBC内。其主要任务是管理安装的ODBC驱动程序和管理数据源。 

驱动程序管理器(Driver Manager)。

驱动程序管理器包括在ODBC32.DLL中。对用户是透明的。

其任务是管理ODBC驱动程序,是ODBC中最重要的部件。 

ODBC API。

ODBC 驱动程序。是一些DLL,提供了ODBC和数据库之间的接口。 

数据源。数据源包括了数据库位置和数据库类型等信息。实际上是一种数据连接的抽象。

各部件之间的关系如图下图所看到的: 

应用程序要訪问一个数据库,首先必须用ODBC管理器注冊一个数据源。管理器依据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与详细数据库的联系。这样,仅仅要应用程序将数据源名提供给ODBC,ODBC就能建立起与对应数据库的连接。

在ODBC中,ODBC API不能直接訪问数据库。必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完对应的操作后。将结果通过驱动程序管理器返回给应用程序。 

在訪问ODBC数据源时须要ODBC驱动程序的支持。用Visual C++ 5.0安装程序能够安装SQL Server、 Access、 Paradox、 dBase、 FoxPro、 Excel、 Oracle 和Microsoft Text等驱动程序.在缺省情况下,VC5.0仅仅会安装SQL Server、 Access、 FoxPro和dBase的驱动程序.假设用户须要安装别的驱动程序,则须要又一次执行VC 5.0的安装程序并选择所需的驱动程序。

jdbc与odbc的差别,感悟,学习。。。的更多相关文章

  1. Java系列之JDBC和ODBC之间的差别与联系

    JDBC简单介绍 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于运行SQL语句的Java API,它是Java十三个规范之中的一个.能够为多种关系数据 ...

  2. JDBC与ODBC

     ODBC(Open Database Connectivity)是一组对数据库访问的标准API,这些API通过SQL来完成大部分任务,而且它本身也支持SQL语言,支持用户发来的SQL.ODBC定义了 ...

  3. 关于JDBC和ODBC的区别

    转载..... JDBC与ODBC都可以实现类似的功能,但JDBC与ODBC的区别是他们的开发架构不同,其实现细节上也有所差异. 谈到JDBC与ODBC的区别,JDBC和ODBC其实都是用来连接数据库 ...

  4. JDBC 与ODBC的区别

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

  5. jdbc和odbc

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

  6. JDBC与ODBC的区别

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

  7. JDBC与ODBC的区别与应用

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

  8. 大约Java有点感悟---开发商根本上感悟学习

    这些年来一直从事大C.C++,有些局部底.一直想知道更多关于顶级什么. 所以,在工作之余.阅读更多Java哪些方面,还使用了一些建筑结构的一些简单的程序,在这里我想简单谈谈自己的一点感悟. 1.Jav ...

  9. JDBC(MySQL)一周学习总结(一)

    一周过去了,我在这分享一下这一周来学习 JDBC 的知识,同时也希望可以帮到别人! 首先我们从获取 JDBC 连接开始 Driver(每个驱动程序类必须实现的接口) 获取数据库连接需要配置数据库连接信 ...

随机推荐

  1. Merge Sorted Array leetcode java(回顾MergeTwoArray和MergeTwoLinkedList)

    题目: Given two sorted integer arrays A and B, merge B into A as one sorted array. Note: You may assum ...

  2. Oracle Agile PLM Web Services 的实现

    Oracle 的产品Agile PLM内置了许多Web Services,其他系统可以通过Web Servcies实现对Agile PLM系统资源的访问.快速学会使用的方法,是去Oracle的官网下载 ...

  3. Java Web -- Servlet(5) 开发Servlet的三种方法、配置Servlet具体解释、Servlet的生命周期(2)

    三.Servlet的生命周期 一个Java servlet具有一个生命周期,这个生命周期定义了一个Servlet怎样被加载并被初始化,怎样接收请求并作出对请求的响应,怎样被从服务中清除.Servlet ...

  4. OpenSSL 中 RSA 加密解密实现源代码分析

    1.RSA 公钥和私钥的组成.以及加密和解密的公式: 2.模指数运算: 先做指数运算,再做模运算.如 5^3 mod 7 = 125 mod 7 = 6 3.RSA加密算法流程: 选择一对不同的.而且 ...

  5. 【Python】在控制台输出不同颜色的文字

    今天调程序出了一个极为奇怪的问题,由于控制台输出挺多,就想把问题着重表示一下,具体即是在控制台输出红色文字. 于是在网上搜寻到了这篇:https://www.cnblogs.com/gongxr/p/ ...

  6. Python网络编程 - 一个简单的客户端Get请求程序

    import socket target_host = "www.baidu.com" target_port = 80 # create a socket object clie ...

  7. 禁止CloudStack删除Xenserver原有虚拟机

    CloudStack在文档中指明需要加入一台干净的Xenserver作为hyperviser. 但是实际使用中,总会存在不同的需求,很多场景是试用CloudStack接管当前已有的hyperviser ...

  8. 算法笔记_123:蓝桥杯第七届省赛(Java语言B组部分习题)试题解答

     目录 1 凑算式 2 方格填数 3 四平方和   1 凑算式 凑算式 B DEF A + --- + ------- = 10 C GHI (如果显示有问题,可以参见[图1.jpg]) 这个算式中A ...

  9. SqlServer数据库分离与附加

    SQL Server提供了“分离/附加”数据库.“备份/还原”数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即把数据库文 ...

  10. 优化iOS程序性能的25个方法

    1. 用ARC管理内存 ARC(Automatic ReferenceCounting, 自己主动引用计数)和iOS5一起公布.它避免了最常见的也就是常常是因为我们忘记释放内存所造成的内存泄露.它自己 ...