迷茫者 加入收藏  -  设为首页
您的位置:迷茫者 > 职场 > 正文
OLEDB和ODBC的区别
OLEDB和ODBC的区别
提示:

OLEDB和ODBC的区别

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连接数据库:
A.sql server:
connstr="PROVIDER=SQLOLEDB;
DATA SOURCE=servername;UID=xx;PWD=xxx;DATABASE=dbname"
B.access:
connstr="PROVICER=MICROSOFT.JET.OLEDB.4.0;
DATA SOURCE=c:\abc\abc.mdb"
值得注意的是,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提供者的速度慢一些。

OLEDB和ODBC的区别
提示:

OLEDB和ODBC的区别

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连接数据库:
A.sql server:
connstr="PROVIDER=SQLOLEDB;
DATA SOURCE=servername;UID=xx;PWD=xxx;DATABASE=dbname"
B.access:
connstr="PROVICER=MICROSOFT.JET.OLEDB.4.0;
DATA SOURCE=c:\abc\abc.mdb"
值得注意的是,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提供者的速度慢一些。

Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别
提示:

Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别

区别如下: 1、Jet 引擎,可以访问 Office 97-2003,但不能访问 Office 2007。 2、ACE 引擎是随 Office 2007 一起发布的数据库连接组件,既可以访问 Office 2007,也可以访问 Office 97-2003。 3、Microsoft.ACE.OLEDB.12.0 可以访问正在打开的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 是不可以的。 4、Jet连接语句:Provider=Microsoft.Jet.OLEDB.4.0;DataSource=|DataDirectory|\您的数据库名.mdb;PersistSecurity Info=True;Jet OLEDB:Database Password=您的数据库密码 5、ACE连接语句:Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\您的数据库名.accdb;Persist Security Info=True;JetOLEDB:Database Password=您的数据库密码 扩展资料: 需要注意的问题和解决方法: 1.Microsoft.Jet.OLEDB.4.0不要写成Miscrosoft.Jet.OLEDB.4.0,; 2.Data Source不要写成“Data Sourse”, 3.检查是否安装了Office 4.重新安装注册MDAC28.exe (一般你的安装目录里有或者到微软的官方网站上下) 5.如果是64位平台,也可能出现这种情况

Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别
提示:

Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别

1、共同点:所有都是连接到Excel对象的接口引擎 2、不同点: 1)对于不同版本的Excel,有两个接口可供选择:Microsoft.Jet.OLEDB.4.0(以下简称Jet引擎) 和microsoft.ace.oledb.12.0(以下简称ACE引擎)。Jet引擎可以访问office 97-2003,但是你无法 访问office 2007。ACE引擎是与Office 20,071一起发布的数据库连接组件,您可以访问Office 2007或Office 97-2003。 2)microsoft.ace.oledb.12.0可以访问正在打开的Excel文件,而microsoft.jet.oledb.4.0是不可 能的。因此,在使用不同版本的Office时,请注意使用正确的引擎。 扩展资料: 从2007版本开始,Access包含特定于Office的Jet版本,最初称为Office Access连接引擎 (ACE),但现在称为Access数据库引擎。此引擎完全向后兼容以前版本的Jet引擎,因此它从早期 的Access版本读取和写入(.mdb)文件。 它引入了一种新的默认文件格式(.accdb),它为Access带来了一些改进,包括复杂数据类型,如 多值字段,附件数据类型和备注字段中的历史记录跟踪。它还带来了安全性和加密性改进,并支持 与Microsoft Windows SharePoint Services 3.0和Microsoft Office Outlook 2007的集成。