iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >OLEDB和ODBC的区别是什么
  • 396
分享到

OLEDB和ODBC的区别是什么

2024-04-02 19:04:59 396人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关OLEDB和ODBC的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.单束式驱动程序 单束式驱动程序介于应用程序和数

这篇文章将为大家详细讲解有关OLEDB和ODBC的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。



1.单束式驱动程序

单束式驱动程序介于应用程序和数据库之间,像中介驱动程序一样数据提供一个统一的数据访问方式。当用户进行数据库操作时,应用程序传递一个ODBC 函数调用给ODBC 驱动程序管理器,由ODBC api 判断该调用是由它直接处理并将结果返回还是送交驱动程序执行并将结果返回。由上可见,单束式驱动程序本身是一个数据库引擎,由它直接可完成对数据库的操作,尽管该数据库可能位于网络的任何地方。

2.多束式驱动程序

多束式驱动程序负责在数据库引擎和客户应用程序之间传送命令和数据,它本身并不执行数据处理操作而用于远程操作的网络通信协议的一个界面。前端应用程序提出对数据库处理的请求,该请求转给ODBC 驱动程序管理器,驱动程序管理器依据请求的情况,就地完成或传给多束驱动程序,多束式驱动程序将请求翻译为特定厂家的数据库通信接口(如oraclesqlNet)所能理解的形式并交于接口去处理,接口把请求经网络传送给服务器上的数据引擎,服务器处理完后把结果发回给数据库通信接口,数据库接口将结果传给多束式ODBC 驱动程序,再由驱动程序将结果传给应用程序。

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

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

参考 Http://www.connectionstrings.com/

用odbc连接数据库:

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

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

1.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={SQLSERVER};SERVER=servername;UID=xx;PWD=xxx"

2.access:

用系统dsn: connstr="DSN=dsnname"
(或者为:connstr="DSN=dsnname;UID=xx;PWD=xxx")
用文件dsn:connstr="FILEDSN=xx"
还可以用连接字符串(从而不用再建立dsn):
connstr="DRIVER={MicrosoftAccess Driver};DBQ=d:\abc\abc.mdb"

用oledb连接数据库:

1.SQL Server:
connstr="PROVIDER=SQLOLEDB;
DATASOURCE=servername;UID=xx;PWD=xxx;DATABASE=dbname"

2.access:
connstr="PROVICER=MICROSOFT.JET.OLEDB.4.0;
DATASOURCE=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提供者可能会比本地的OLEDB提供者的速度慢一些。

ODBC,OLEDB连接字符串详解

SQL Server

u ODBC
1. Standard Security:
"Driver={SQLServer};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;"
2. Trusted connection:
"Driver={SQLServer};Server=Aron1;Database=pubs;Trusted_Connection=yes;"
3. Prompt for username and passWord:
oConn.Properties("Prompt")= adPromptAlways
oConn.Open"Driver={SQL Server};Server=Aron1;DataBase=pubs;"

u OLE DB, OleDbConnection (.net)

1. Standard Security:
"Provider=sqloledb;DataSource=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"
2. Trusted Connection:
"Provider=sqloledb;DataSource=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;"
(useserverName\instanceName as Data Source to use an specifik SQLServer instance,only SQLServer2000)
3. Prompt for username and password:
oConn.Provider= "sqloledb"
oConn.Properties("Prompt")= adPromptAlways
oConn.Open"Data Source=Aron1;Initial Catalog=pubs;"
4. Connect via an IP address:
"Provider=sqloledb;DataSource=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;UserID=sa;Password=asdasd;"
(DBMSSOCN=tcp/IPinstead of Named Pipes, at the end of the Data Source is the port to use (1433is the default))

u SqlConnection (.NET)

1. Standard Security:
"DataSource=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"
- or -
"Server=Aron1;Database=pubs;UserID=sa;Password=asdasd;Trusted_Connection=False"
(bothconnection strings produces the same result)
2. Trusted Connection:
"DataSource=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;"
- or -
"Server=Aron1;Database=pubs;Trusted_Connection=True;"
(bothconnection strings produces the same result)
(useserverName\instanceName as Data Source to use an specifik SQLServer instance,only SQLServer2000)
3. Connect via an IP address:
"DataSource=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;UserID=sa;Password=asdasd;"
(DBMSSOCN=TCP/IPinstead of Named Pipes, at the end of the Data Source is the port to use (1433is the default))

关于OLEDB和ODBC的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: OLEDB和ODBC的区别是什么

本文链接: https://www.lsjlt.com/news/57838.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • OLEDB和ODBC的区别是什么
    这篇文章将为大家详细讲解有关OLEDB和ODBC的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.单束式驱动程序 单束式驱动程序介于应用程序和数...
    99+
    2024-04-02
  • ADO,OLEDB,ODBC,DAO,RDO的区别有哪些
    本篇内容介绍了“ADO,OLEDB,ODBC,DAO,RDO的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能...
    99+
    2024-04-02
  • JDBC和ODBC之间有什么区别
    这篇文章将为大家详细讲解有关JDBC和ODBC之间有什么区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JDBC和ODBC都是API(应用程序编程接口),它帮助客户端的...
    99+
    2024-04-02
  • ./ 和 sh 的区别是什么
    ./ 和 sh 的区别是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。./ 和 sh的使用区别使用“./”执行脚本,对应的xxx.sh脚本必须要有执行权限;使用“sh”...
    99+
    2023-06-09
  • html5和h5的区别是什么
    这期内容当中小编将会给大家带来有关html5和h5的区别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。html是什么html的全称为超文本标记语言,它是一种标记语言,包含了一系列标签.通过这些标签可...
    99+
    2023-06-06
  • ram和rom的区别是什么
    这篇文章主要介绍“ram和rom的区别是什么”,在日常操作中,相信很多人在ram和rom的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ram和rom的区别是什么”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-03
  • JavaScript和Python的区别是什么
    JavaScript和Python的区别是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python VS JavaScript:应用上的差异Python由...
    99+
    2023-06-15
  • MYSQL中#和$的区别是什么
    小编给大家分享一下MYSQL中#和$的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!他们之间的区别用最直接的话来说就是...
    99+
    2024-04-02
  • MySQL中“:=”和“=”的区别是什么
    小编给大家分享一下MySQL中“:=”和“=”的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!=只有在set和upda...
    99+
    2024-04-02
  • Object和Component的区别是什么
    这篇文章给大家介绍Object和Component的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。  由于Componet引入了事件、行为,因此,它并非简单继承了Object...
    99+
    2024-04-02
  • MYSQL和SQL的区别是什么
    本篇内容介绍了“MYSQL和SQL的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MYSQL和S...
    99+
    2024-04-02
  • wap和html5的区别是什么
    这篇文章主要介绍“wap和html5的区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“wap和html5的区别是什么”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • div和css的区别是什么
    这篇文章主要介绍“div和css的区别是什么”,在日常操作中,相信很多人在div和css的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”div和css的区别是什么”...
    99+
    2024-04-02
  • ubuntu和linux的区别是什么
    ubuntu和linux的区别是:1.概念不同、2.基础不同等。概念不同,linux是一套免费使用和自由传播的类Unix操作系统,而ubuntu是一个以桌面应用为主的linux操作系统。.基础不同,linux是一个基于POSIX和Unix的...
    99+
    2024-04-02
  • PHP和Python的区别是什么
    1、设计哲学不同 PHP:PHP是一种创建动态交互性站点的强有力的服务器端脚本语言,主要是为了Web开发而设计,简单、快速并且灵活。 Python:Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,它的设计哲学...
    99+
    2023-10-29
    区别 PHP Python
  • golang和go的区别是什么
    "Golang" 和 "Go" 本质上是同一个编程语言,没有实质性的区别,它们只是在称呼上有些微差异,但指的都是同一个语言。因此,在讨论Go语言时,可以使用"Golang"或"Go"这两个术语中的任何一个。本教程操作系统:Windows10...
    99+
    2023-12-12
    go语言 Golang
  • WinForm和ASP.NET的区别是什么
    WinForm和ASP.NET都是用于开发桌面应用程序和Web应用程序的技术,它们之间的主要区别在于其应用场景和技术架构: 应用...
    99+
    2024-04-08
    winform ASP.NET
  • PyTorch和TensorFlow的区别是什么
    PyTorch和TensorFlow都是流行的深度学习框架,它们之间的一些主要区别包括: 动态图 vs 静态图:PyTorch使...
    99+
    2024-03-05
    PyTorch TensorFlow
  • mysql和mariadb的区别是什么
    MySQL和MariaDB都是用于管理关系型数据库的开源软件,两者之间有以下几个主要区别: 开发者:MySQL最初由瑞典的MyS...
    99+
    2024-04-02
  • kafka和redis的区别是什么
    Kafka和Redis是两种不同的数据存储系统,主要用途和设计理念也有所不同。 Kafka是一种分布式流数据平台,用于处理实时数据...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作