花了点时间理了一下数据库访问技术相关的东西,一般地,一个数据库产品的发布后,相应地,会为开发者提供一套访问改数据库的接口,比如MySql提供的C API,可以通过这些数据库产品本身的API进行数据库操作。

比如:通过API mysql_init() mysql_real_connect()连接数据库,其它的数据库产品也相应的提供了类似的API。问题是,这样直接通过底层数据库产品的API开发应用

加大了开发难度,换了数据库又要学习新的API,不适应快速发展的软件开发模式,也降低了软件的可重用性。为此,产生了许多标准的数据库访问技术。

1.ODBC Open Database Connectivity

ODBC开放数据互联技术提供了访问关系型数据库的统一接口,使用ODBC API可以与任何具有ODBC驱动程序的关系型数据库交互,并且大部分数据库都提供了

ODBC驱动程序。

比如: ODBC API连接数据库如下

SQLRETURN SQLConnect( SQLHDBC ConnectionHandle,

SQLCHAR * ServerName,

SQLSMALLINT NameLength1,

SQLCHAR * UserName,

SQLSMALLINT NameLength2,

SQLCHAR * Authentication,

SQLSMALLINT NameLength3);

ODBC的体系结构如下:

2.DAO Data Access Object

DAO 最早是微软为了Microsoft Jet数据库引擎提供给Microsoft Access所使用,现在也支持其他数据库,MFC的CDaoRecordset等类就是基于对DAO的封装产生的。

3.RDO Remote Data Object

RDO直接调用ODBC API可以为应用程序提供较好的性能。

4.OLE DB  Object Linking and Embedding  Database

OLE DB对ODBC进行了扩展,成为关系型和非关系型数据库访问的接口。OLE DB 定义了一组 COM 接口,对各种数据库管理系统服务进行封装,

并允许创建软件组件,实现这些服务。

5.ADO ActiveX Data Object

ADO建立在OLE DB之上,本身是OLE DB的客户程序,使用ADO的程序都间接的使用OLE DB,所以,ADO可以看做是面向对象的OLE DB技术,是高层的

编程接口,简化了OLE DB访问数据库。使用VC++ J进行ADO编程时,需要初始化COM环境

调用CoInitialize(NULL),以及释放COM环境CoUninitialize(),MFC中可调用AfxOleInit()初始化Ole环境。

使用ADO操作数据库简单高效,但ADO操作时一定要使用try-catch捕获异常。

只是简单了理清了几种数据库的访问方式,虽然有的可能已经不常用了,但知道了这些就能更好的先专攻某种主流技术而不会云里雾里的,那种感觉实在太糟糕了。

下一步可能深入研究一下OLE DB/ADO,努力。

只是简单的理了下方向性的东西,文章中若有错误,欢迎指正,谢谢。

ODBC OLEDB ADO等数据库访问技术相关推荐

  1. ADO.Net 数据库访问技术

    1.在web.Config配置文件中设置连接字符串 <connectionStrings><add name="connString" connectionStr ...

  2. VBNET学习笔记---MS VBnet数据库访问技术,概念,介绍,发展历程.

    VBNET学习笔记---MS VBnet数据库访问技术,概念,介绍,发展历程. 2013-02-20 1.数据库访问技术 a.JET与DAO JET(Joint Engine Technology)数 ...

  3. 数据库访问技术的总结 一

    以下几篇对数据库的访问技术,做一个完整的梳理,已备后来需要时查阅. 一.嵌入式SQL的处理过程 将书写的SQL语句嵌入到主语言中,主语言一般如c.c++.java等.对于这种嵌入式语言(ESQL),R ...

  4. .NET/C#大型项目研发必备(7)--DataAccess数据库访问技术

    前言:本系列文章适合有初/中级.NET知识的同学阅读. (1)本系列文章,旨在讲述研发一个中大型项目所需要了解的一系列"基本构件",并提供这些"基本构件"的[最 ...

  5. ado.net mysql类_DbHelper通用的ADO.NET数据库访问帮助类

    001通用数据库访问帮助类DbHelper.cs 002// 文 件: DbHelper.cs 003// 作 者: yangdeyong 004// 时 间: 2012年4月10日 10:12:45 ...

  6. QT数据库访问技术简介

    目录 背景介绍 功能对比 QT中数据库操作常用类介绍 用法实例 数据准备 创建实体类 创建数据库访问类 个人总结 关于如何获取数据库执行过程中的错误以及判断SQL语句执行是否成功执行 关于参数化SQL ...

  7. 数据库访问技术(二)---ADO.NET

    ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访问数据.之所以使用ADO.NET名称,是因为Microsoft希 ...

  8. 黑马程序员_ADO.Net 数据库访问技术

    -----------Windows Phone 7手机开发..Net培训..net学习型技术博客.期待与您交流! ------------ 1.程序要和数据库交互要通过ADO.Net进行,通过ADO ...

  9. C#与数据库访问技术总结(三)之 Connection对象的常用方法

    说明:前面(一)(二)总结了数据库连接的概念以及连接数据库的字符串中的各个参数的含义.这篇随笔介绍connection对象的常用方法. Connection对象的常用方法 Connection类型的对 ...

最新文章

  1. 杀疯了!通过游戏“元宇宙”,Deepmind让AI学会玩各种没玩过的游戏,骚操作不断...
  2. python检查URL是否能正常访问
  3. IOS中货币高精度要求使用NSDecialNumber、
  4. A20 GPIO中断类型差别结果迥异的问题思考
  5. error: The following untracked working tree files would be overwritten by merge:
  6. 数组的几种定义方式及初始化
  7. 最简单DIY基于ESP8266的智能彩灯⑤(用C#调色板UI通过串口控制WS2812彩灯)
  8. Labview连接sql server数据库
  9. 关于泊松分布在测序原理中的解释
  10. Python 图像处理—使用 Scikit-Image 进行斑点检测
  11. Qt5对Excel表格简单、高效处理方法
  12. DirectX3D游戏制作之---3D场景的渲染及人物动画的显示
  13. 无刷直流电机最强科普(收藏版)
  14. 辞职犹豫不决怎么办?遇到这五种心理那就辞吧
  15. 实验实例 —逻辑门设计
  16. 爱智会平台荣膺2018全球物联网大会最佳数字会务服务伙伴奖
  17. 腾讯云CVM使用体验
  18. 如何一台服务器虚拟多人用,使用服务器如何实现多台虚拟主机
  19. PTA|程序设计类实验辅助教学平台:基础编程题目集:编程题7-3
  20. texstudio调用外部pdf查看器的配置方法

热门文章

  1. 火车票中的社会工程学信息(脱敏身份证信息还原)
  2. HALCON 简单介绍
  3. php中Session使用方法详解
  4. uefi和legacy的区别对比
  5. The Elastic Stack (ELK)7.14:简单配置到SSL配置教程(带Beats部署)
  6. VS Code去掉 unused 警告
  7. NAT和代理服务器的原理及应用
  8. Python爬虫(入门+进阶)学习笔记 1-4 使用Xpath解析豆瓣短评
  9. HR产品市场前途一片光明
  10. 零成本学arduino教程——热敏电阻传感器