以下几篇对数据库的访问技术,做一个完整的梳理,已备后来需要时查阅。

一、嵌入式SQL的处理过程

将书写的SQL语句嵌入到主语言中,主语言一般如c、c++、java等。对于这种嵌入式语言(ESQL),RDBMS的处理方式是采用预编译的方式,RDBMS的预处理程序对主程序的代码进行扫描,识别出其中的SQL语句,把它们转换成主语言调用语句,以使主语言调用语句的编译程序能够识别他们,然后主语言程序将纯主语言程序编译成目标代码

二、存储过程

存储过程是由PL/SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,因此称它们为存储过程,使用时只需要调用即可。

存储过程的优点:

1)、由于存储过程不像解释执行的SQL语句那样只在提出操作请求时才进行语法分析和优化工作,因而运行效率高,它提供了在服务器端快速执行SQL语句的有效途径。

2)、存储过程降低了客户机与服务器之间的通信量。客户机上的应用程序只要通过网络向服务器发出存储过程的名字和参数,就可以让RDBMS执行多条语句,并执行数据处理。只有最终结果才返回客户端。

3)、方便实施企业规则。可以把企业规则的运算程序写成存储过程放入数据库服务器中,由RDBMS管理,既有预计总控制又有利于维护。当用户规则发生变化时只要修改存储过程,无需修改其他应用程序。

三、下面记述对异构数据库的访问技术

数据库的种类有很多所以导致在一个数据库上边写的程序很难在应用到其他的数据库上,这给编程带来了很大的不变,因此由此便开发出异构数据库访问的技术。

ODBC是微软开发开放服务体系(WOSA)中有关数据库的一个组成部分,他建立了一组规范,并提供了一组访问数据库的标准API,作为规范的他有两方面的功效和约束力:一方面是规范应用开发,另一方面规范RDBMS应用接口。

主要讲述以下ODBC的工作原理,其他的异构数据库访问技术跟他大致相仿,所以只讲使用方法。

ODBC的工作原理:
下图配上ODBC的体系结构图:

其中ODBC的核心部分包括,应用程序接口的API,驱动程序管理器,各数据库驱动程序。

应用程序:应用程序通过调用应用程序接口的API,调用标准的ODBC函数和SQL语句,实现与数据库的交互。

驱动程序管理器:驱动程序管理器管理各种驱动程序,它包含在ODBC32.dll文件中,对用户来说是透明的,主要功能是装载ODBC驱动程序、驱动和连接正确的驱动程序、管理数据源,检查连接ODBC的参数的合法性及记录ODBC函数的调用等,当应用层需要时返回驱动程序信息。

驱动程序:能够访问异构数据库的关键就是数据库驱动程序,有他提供了应用程序和数据库的独立性。当前的驱动程序主要分单束和多束。单束一般指数据源和应用程序在同一台机器上,驱动和程序直接完成对数据文件的IO操作,这时驱动程序相当于数据管理器。多束驱动程序支持客户/服务器模式,客户机/应用服务器/数据库服务器模式,这是驱动程序完成数据库的请求的提交和结果集接收,应用程序使用驱动程序提供的结果集管理接口操纵执行后的结果数据。

数据源管理:数据源包含有数据库位置数据库类型 等信息,实际上是数据连接的一种抽象。ODBC给每位被访问的数据元指定唯一的数据源名DSN,并映射到所有的底层软件,在连接中的用数据源名来代表用户名,服务器名,所连接的数据库名等。最终用户无需知道数据源的存在。

下面讲述ODBC的AIP:
配上的应用程序句柄之间的关系图:

解析关系图,

每个应用程序创建之后会生成一个ODBC实例,即一个环境句柄,对应于驱动程序管理器。每个ODBC中实例中对应有多个连接句柄,连接句柄就对应于驱动程序,语句句柄是指那些数据库操作的SQL语句,以及产生的结果集和相关信息。描述符句柄主要描述SQL语句的参数、结果集列的元数据集合。这里的数据源有必要提一下,数据源就是那些数据库,及数据库管理程序,同时,RDBMS就是充当数据库服务器的角色的。我们所说的连接数据库服务器就是指的DBMS。

数据库访问技术的总结 一相关推荐

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

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

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

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

  3. ODBC OLEDB ADO等数据库访问技术

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

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

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

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

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

  6. C#与数据库访问技术总结(十七)

    使用DataSet对象访问数据库 当对DataSet对象进行操作时,DataSet对象会产生副本,所以对DataSet里的数据进行编辑操作不会直接对数据库产生影响,而是将DataRow的状态设置为ad ...

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

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

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

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

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

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

最新文章

  1. vs 2012自带打包工具进行部署安装
  2. 关于vs编码格式UTF8中文处理方式
  3. 如果我们能够数字化,那么我们能够give away
  4. mysql如何做计划任务_简单的mysql 过程计划任务
  5. html资源文件放在哪里,09 Spring Boot开发web项目之静态资源放哪里?
  6. Excel闪退问题解决办法
  7. mysql安装和基本操作
  8. 行为画像分析 行业客户画像 行业用户画像
  9. 计算机软件服务费入哪个科目,软件服务费计入什么科目?
  10. java大作穿越arpg_动作与角色扮演完美结合 精品ARPG游戏盘点
  11. 认证中心公钥(CA)与IC卡参数
  12. java编写md5加密解密算法
  13. mysql2004报错_mysqlbinlog备份时候报错Sanity check failed
  14. javascript动态添加、修改、删除对象的属性和方法
  15. (你也可以像别人一样对框架底层源码来去自如)23种设计模式之外观模式
  16. leetcode-数组知识点(中等)
  17. m2cgen 模型代码生成器的使用
  18. Linux企业级服务之实现DNS子域服务器
  19. 中国全球GPU市场竞争格局分析
  20. btm主题模型python代码

热门文章

  1. 企业级旅行App源码、高仿爱鲜蜂源码、iOS Arkit测距源码等
  2. MTK 平台camera如何dump image buffer大全
  3. 苹果审核因IPv6被拒的探索与解决方法
  4. Scapy的下载和安装(二)
  5. S5PV210时钟详解
  6. Ethereum Core Devs Meeting #83以太坊核心开发者会议纪要
  7. 机房无网环境离线安装cobbler
  8. 肖博高考数学二轮复习方法之圆锥曲线 解题策略附带题型解析
  9. 解决SwitchResX不保存设置的问题
  10. FP5207B:DC-DC升压芯片 软启动 工作频率可调