数据源与数据库有什么区别

数据源与数据库有什么区别,第1张

数据库是一个数据的工厂,可以理解成产品的生产厂家,如果你从厂家租用东西,厂家就马上找人开工,启动设备,等生产好之后,发货给你。当然整个生产过程需要比较长的时间。数据源,是一个产品代理仓库,代理那里原来就有一些生产好的产品了,所以你从代理获取产品,可以马上就得到。当然代理的仓库也是有大小限制的。

ODBC和ADO的区别:

ODBC(Open Database Connection,开放式数据互连)是访问数据库的一个统一接口标准,它允许开发人员使用ODBC API(应用程序接口)来访问多种不同的数据源,并执行数据 *** 作。

当使用应用程序时,应用程序首先通过使用ODBC API与驱动管理器进行通信,ODBC API由一组ODBC函数调用组成,通过API调用ODBC函数提交SQL请求,然后,驱动管理器通过分析ODBC函数并判断数据源的类型,并配置正确的 驱动器,并把ODBC函数调用传递给驱动器,最后,驱动器处理ODBC函数调用,把SQL请求发送给数据源,数据源执行相应 *** 作后,驱动器返回执行结果, 管理器再把执行结果返回给应用程序。

微软公司的ADO (ActiveX Data Objects) 是一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。

ADO包含一些顶层的对象:

连接,代表到数据库的连接

记录集,代表数据库记录的一个集合

命令,代表一个SQL命令

记录,代表数据的一个集合

流,代表数据的顺序集合

错误,代表数据库访问中产生的意外

字段,代表一个数据库字段

参数,代表一个SQL参数

属性,保存对象的信息

ADO组件的使用需要利用支持COM的高级语言,例如ASP中的VBScript或者Visual Basic,甚至Delphi,微软的竞争对手Borland的一个产品,现在也支持使用ADO来访问数据库。

ODBC通常用来访问不具备OLE-DB特性的非Microsoft数据库中的数据;16位的ODBC驱动程序工作起来可能非常缓慢。

ODBC素以最慢的数据访问方法而著称,但是很可惜,当ADO或DAO都不支持某个数据库管理器而ODBC支持这个数据库管理器时,在这种特定的情形 下,你仍然需要使用ODBC。在大多数情况下,这意味着要从数据库厂商那里获得所需的驱动程序,虽然Visual C++确实附带了一些产品的驱动程序(如果你正在使用数据库管理器的某些神秘功能,那么就需要建立自己的接口枣这并不是一件十分困难的事)。本质上讲,你 总是要使用ODBC来访问Microsoft产品之外的其它DBMS产品所创建的数据库,这些数据库并不具备OLE-DB功能。ODBC还要求做一些额外 的工作枣为ADO调整Visual C++中的大部分向导。

高级技巧

除了使用ADO和ODBC外,你还可以使用像DAO(数据访问对象)这样的早期技术,该技术包含在像Access这样的Microsoft产品中。 DAO依赖于用Microsoft Access自动获得的Microsoft Jet数据库引擎。DAO还是较早版的Visual Basic所使用的引擎(最新版的Visual Basic和Visual C++依赖于相同的ADO/OLE-DB组合),所以如果需要支持较早的Visual Basic应用程序,那么DAO仍是一个不错的选择。

尽管Microsoft文件声明,可以用DAO访问非Microsoft产品建立的数据库,但你仍会发现,在这种情况下,使用ADO和ODBC要好得 多。这样的话,不但兼容性问题会少一些,速度也将有所提高,因为数据请求经过的接口层减少了。有一条经验要记住,DAO是设计用来处理MDB文件的。

ADO的一个问题是,它不支持远程通信。这是Microsoft提出RDO(远程数据对象)的原因之一。这种特别技术在Visual Basic应用程序中的使用,要比在Visual C++中的使用多得多,所以我猜想,你们中有很多人都在使用它。但是,记住RDO仍是一种生命力很强的技术,这一点很重要。ADO确实具有替代RDO的远 程数据服务(RDS)特征。换言之,ADO在一个软件包中提供了DAO和RDO两种功能性。

ODBC使用的是微软提供的通用数据库连接,所以效率不高,ADO就好些,主要是针对微软数据库做了优化,降低了系统资源的使用率,所以效率比ODBC要高一些,特别是并发用户多时更能体现速度上的差异。

1. 用户DSN会把相应的配置信息保存在Windows的注册表中,但是只允许创建该DSN的登录用户使用。

2.系统DSN同样将有关的配置信息保存在系统注册表中,但是与用户DSN不同的是系统DSN允许所有登录服务器的用户使用。

3.文件DSN把具体的配置信息保存在硬盘上的某个具体文件中。文件DSN允许所有登录服务器的用户使用,而且即使在没有任何用户登录的情况下,也可以提供对数据库DSN的访问支持。此外,因为文件DSN被保存在硬盘文件里,所以可以方便地复制到其它机器中(文件可以在网络范围内共享)。这样,用户可以不对系统注册表进行任何改动就可直接使用在其它机器上创建的DSN。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6915959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存