当前位置: 首页 > 图文教程 > 网络编程 > ASP > 初学者来认识OLEDB和ODBC的区别

ASP
ASP下经常用的字符串等函数参考资料
asp下连接数据库 ASP链接数据库字符串大全总结
asp内置对象 ObjectContext 事务管理 详解
asp 内置对象 Application 详解
ASP中 SQL语句 使用方法
ASP 中 Split 函数的实例分析
ASP 中 DateDiff 函数详解 主要实现两日期加减操作
asp 存贮过程 (SQL版asp调用存储过程)
利用ASP实现在线生成电话图片效果脚本附演示
使用ASP记录在线用户的数量的代码
关于ASP生成伪参数技巧 简洁实用的伪(僞)参数
asp 关键词字符串分割如何实现方法
用ASP编写的加密和解密类
ASP之处理用Javascript动态添加的表单元素数据的代码
asp下最常用的19个基本技巧
一些Asp技巧和实用解决方法
asp实现一个统计当前在线用户的解决方案
asp下的一个很简单的验证码程序
asp又一个分页的代码例子
asp实现防止从外部提交数据的三种方法

ASP 中的 初学者来认识OLEDB和ODBC的区别


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 302 ::
收藏到网摘: n/a

ODBC(开放数据库互连):是Microsoft引进的一种早期数据库接口技术。它实际上是ADO的前身。早期的数据库连接是非常困难的。每个数据库的格式都不一样,开发者得对他们所开发的每种数据库的底层API有深刻的了解. 因此,能处理各种各样数据库的通用的API就应运而生了。也就是现在的ODBC(Open Database Connectivity), ODBC是人们在创建通用API的早期产物。有许多种数据库遵从了这种标准,被称为ODBC兼容的数据库。

OLEDB(对象链接和嵌入数据库)位于ODBC层与应用程序之间. 在你的ASP页面里,ADO是位于OLEDB之上的"应用程序". 你的ADO调用先被送到OLEDB,然后再交由ODBC处理. 你可以直接连接到OLEDB层,如果你这么做了,你将看到服务器端游标(recordset的缺省的游标,也是最常用的游标)性能的提升。

用odbc连接数据库:

odbc中提供三种dsn,它们的区别很简单:用户dsn只能用于本用户。系统dsn和文件dsn的区别只在于连接信息的存放位置不同:系统dsn存放在odbc储存区里,而文件dsn则放在一个文本文件中。

它们的创建方法就不说了。

在asp中使用它们时,写法如下:

A.sql server:

用系统dsn: connstr="DSN=dsnname; UID=xx; PWD=xxx;DATABASE=dbname"

用文件dsn: connstr="FILEDSN=xx;UID=xx; PWD=xxx;DATABASE=dbname"

还可以用连接字符串(从而不用再建立dsn):

connstr="DRIVER={SQL SERVER};SERVER=servername;UID=xx;PWD=xxx"
B.access:

用系统dsn: connstr="DSN=dsnname"

(或者为:connstr="DSN=dsnname;UID=xx;PWD=xxx")

用文件dsn: connstr="FILEDSN=xx"

还可以用连接字符串(从而不用再建立dsn):

connstr="DRIVER={Microsoft Access Driver};DBQ=d:\abc\abc.mdb"

用oledb连接数据库:

值得注意的是,OLE DB对ODBC的兼容性,允许OLE DB访问现有的ODBC数据源。其优点很明显,由于ODBC相对OLE DB来说使用得更为普遍,因此可以获得的ODBC驱动程序相应地要比OLE DB的要多。这样不一定要得到OLE DB的驱动程序,就可以立即访问原有的数据系统。

提供者位于OLE DB层,而驱动程序位于ODBC层。如果想使用一个ODBC数据源,需要使用针对ODBC的OLE DB提供者,它会接着使用相应的ODBC驱动程序。如果不需要使用ODBC数据源,那么可以使用相应的OLE DB提供者,这些通常称为本地提供者(native provider)。

可以清楚地看出使用ODBC提供者意味着需要一个额外的层。因此,当访问相同的数据时,针对ODBC的OLE DB提供者可能会比本地的OLE DB提供者的速度慢一些。