ODBC、JDBC、OLE DB、 ADO、ODAC、ODP.NET介绍

面对各式各样、越来越多的数据来源和访问需求。软件开发框架中一般都提供了统一的访问接口和方法,来屏蔽数据库底层差异。 各式各样的Provider提供者。


ODBC(Open Database Connectivity,开放数据库互连):是微软提供的支持关系数据库,以及传统的数据库数据类型,并且只以C/C++语言API(API就是一些C语言的代码,是最底层的程序,在windows中就是一些.dll的文件)形式提供服务。


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

JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的限制。



OLE-DB:定义了统一的COM接口做为存取各类异质数据源的标准,并且封装在一组COM对象之中。在支持ODBC的基础上,具有面向其他非SQL数据类型的通路。


ADO (ActiveX Data Objects):是一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。


ADO.NET:在NET编程环境中优先使用的数据访问接口。主要包含:Connection 类、Command对象、DataReader类、DataAdapter类、DataTable类、DataSet对象。


ODAC(Oracle Data Access Components):Oracle为Borland Delphi,C++ Builder 以及 Kylix提供了一些非可视化的组件。

ODAC 直接使用 Oracle 调用接口 (OCI). OCI 是一种允许应用程序开发人员使用第三方开发语言存取Oracle数据服务器的过程或函数以及控制所有的SQL语句执行状态的应用程序接口(API)。OCI 通过一个动态运行库(ORA*.DLL)提供了一个标准的数据库存取库及函数,以在应用程序中建立连接。也可以使用ODAC的Net选项而无需在客户机上安装Oracle客户端来连接到Oracle.在这种情况下,ODAC仅需要TCP/IP协议的支持,从而可以创建真正的、最小的数据库应用程序。ODAC包含了ODP.NET。


ODP.NET(Oracle Data Provider For .NET):是Oracle公司为.NET开发者发布的一个 .NET 使用 ORACLE 数据库的类库。

由于微软在.net framework4中会将System.Data.OracleClient.dll deprecated,而且就访问效率和速度而言,System.Data.OracleClient.dll与 Oracle.DataAccess.dll相比,微软的确实没有oracle提供的类库有优势,所以放弃了使用多年的 System.Data.OracleClient.dll,取而代之的是odp.net。


JDBC:

  1. 驱动:有MYSQL、Oracle等等驱动,比如甲骨文公司开发的Oracle驱动,oracle.jdbc.driver.OracleDriver
  2. 连接方式
    1. JDBC OCI: oci是oracle call interface的缩写,此驱动类似于传统的ODBC驱动。因为它需要Oracle Call Interface and Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件,其实主要是用到oracle客户端里以dll方式提供的oci和服务器配置。
    2. JDBC Thin: thin是for thin client的意思,这种驱动一般用在运行在WEB浏览器中的JAVA程序。它不是通过OCI or Net8,而是通过Java sockets进行通信,是纯java实现的驱动,因此不需要在使用JDBC Thin的客户端机器上安装Oracle客户端软件,所以有很好的移植性,通常用在web开发中。
    3. JDBC KPRB: 这种驱动由直接存储在数据库中的JAVA程序使用,如Java Stored Procedures 、triggers、Database JSP's。因为是在服务器内部使用,他使用默认或当前的会话连接来访数据库,不需要用户名密码等,也不需要数据库url。


相关资料:

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值