【知识积累】数据库访问方式

2024-08-26 01:38

本文主要是介绍【知识积累】数据库访问方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天小编给大家分享一下我总结的数据库访问方式:
【ODBC】(Open Database Connectivity)
最一开始做程序,用的是vb6.0,sqlserver2008。使用的是ODBC进行数据库连接。

ODBC(Open DataBaseConnectivity)是微软倡导的、当前被业界广泛接受的、用于数据库访问的应用程序编程接口(API),它以X/Open和 ISO/IEC的调用级接口(CLI)规范为基础,并使用结构化查询语言(SQL)作为其数据库访问语言。 驱动程序管理器针对特定数据库的各个驱动程序进行集中管理,并向应用程序提供统一的标准接口。ODBC提供的Driver Manager实现所有的ODBC函数,多数是传递调用给驱动程序中的ODBC 函数,并静态链接应用程序,或在应用程序运行时加载它。这样,应用程序在Driver Manager 中按名调用驱动ODBC函数,而不是通过每个驱动程序中的指针。当应用程序需要通过特定的驱动程序时,它首先需要一个标识驱动程序的连接句柄。Driver Manager加载驱动程序,并存储每个驱动程序中的函数地址。要使驱动程序调用一个ODBC函数,可在应用程序调用 Driver Manager中的函数,并为驱动程序传送连接句柄,然后Driver Manager使用以前存储的地址来调用函数。

【DAO】(Data Access Objects)-数据访问对象

1993Microsoft为了让程序员能够存取Access数据库,使用OLE Automation技术封装了Jet Engine。这些使用Jet Engine存取Access数据库的OLE Automation Object便称为Data  Access Object(DAO)。同时,它是微软的VB3.0中提供的数据访问技术,它允许访问和处理本地数据,缺点是不能访问远程数据库。因此DAO在存取Access数据库时非常有效率,但是在存取其他的数据源时却表现得不怎么好。DAOMicrosoft一种用来访问Jet引擎的方法,主要用来访问Access数据库,使用起来比较简单不像ODBC那样是面向C/C++程序员的,它是微软提供给Visual Basic开发人员的一种简单的数据访问方法,但不提供远程访问功能。

【ADO】(ActiveX Data Object)-活动数据库

是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据

由于OLE DB位于底层,只能由C++这样的OO语言直接实现,而不能用VB这样的高层4G语言来实现,所以微软将对OLE DB的访问封装成对象,即ActiveX 数据对象(ADO),可以由vb这样的语言来调用它对OLE DB操作。基于OLE DB之上的ADO更简单、更高级、更适合Visual Basic程序员,同时消除了OLE DB的多种弊端,取而代之是微软技术发展的趋势。

【ADO.NET】

是一种基于标准的程序设计模型,可以用来创建分布式应用以实现数据共享。在ADO.NET中,DataSet占据重要地位,它是数据库里部分数据在内存中的拷贝。与ADO中的RecordSet不同,DataSet可以包括任意个数据表,每个数据表都可以用于表示某个数据库表或视图的数据。DataSet是驻留在内存中,且不与原数据库相连,即无需与原数据库保持连接。完成工作的底层技术是XML,它是DataSet所采用的存储和传输格式。在运行期间,组件之间需要交换DataSet中的数据。数据以XML文件的形式从一个组件传输给另个一组件,由接收组件将文件还原为DataSet形式。

【RDO】(Remote Data Objects)-远程数据对象

它是微软的一个应用程序接口 (application program interface, API) ,让写Windows应用程序的程序师能够进入微软和其他的数据库供给者的数据库。然后,程序中 RDO 陈述使用微软的底层数据存取对象 (DAO) 来实际进入数据库。 数据库供给者写入 DAO接口。 RDO 已经发展到微软为新的程序推荐的程序接口--- ActiveX 数据对象。 ADO也提供进入非关系数据库的接口而且比较容易使用。 

这篇关于【知识积累】数据库访问方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1107190

相关文章

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优