常见数据库的驱动加载片段中协议区别

常见数据库的驱动加载片段中协议区别,第1张

type

4:本地协议驱动

Type

1:

jdbc-odbc桥

Jdbc-odbc

是sun公司提供的,是jdk提供的的标准api

这种类型的驱动实际是把所有

jdbc的调用传递给odbc

,再由odbc调用本地数据库驱动代码(

本地数据库驱动代码是指

由数据库厂商提供的数据库 *** 作二进制代码库,例如在oracle

for

windows中就是oci

dll

件)

jdbc-odbc桥

|

odbc

|

厂商DB代码---------------数据库Server

只要本地机装有相关的odbc驱动那么采用jdbc-odbc桥几乎可以访问所有的数据库,jdbc-

odbc方法对于客户端已经具备odbc

driver的应用还是可行的

但是,由于jdbc-odbc先调用

odbc再由odbc去调用本地数据库接口访问数据库所以,执行效率比较低,对于那些大数据量

存取的应用是不适合的而且,这种方法要求客户端必须安装odbc

驱动,所以对于基于

internet

,intranet的应用也是不合适的因为,你不可能要求所有客户都能找到odbc

driver

=====一般ACCESS用到的比较多,初学者用。实际项目是不用的。

Type

2:

本地Api驱动

本地api驱动直接把jdbc调用转变为数据库的标准调用再去访问数据库

这种方法需要本地

数据库驱动代码

本地api驱动

|

厂商DB代码---------------数据库Server

(图二)

这种驱动比起jdbc-odbc桥执行效率大大提高了但是,它仍然需要在客户端加载数据库厂商

提供的代码库这样就不适合基于internet的应用并且,他的执行效率比起3,4型的jdbc驱动

还是不够高

Type3:网络协议驱动

这种驱动实际上是根据我们熟悉的三层结构建立的

jdbc先把对数局库的访问请求传递给网

络上的中间件服务器

中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用

传给数据库服务器如果中间件服务器也是用java开法的,那么在在中间层也可以使用1,2型

jdbc驱动程序作为访问数据库的方法

网络协议驱动---------中间件服务器------------数据库Server

由于这种驱动是基于server的所以,它不需要在客户端加载数据库厂商提供的代码库而且

他在执行效率和可升级性方面是比较好的因为大部分功能实现都在server端,所以这种驱动

可以设计的很小,可以非常快速的加载到内存中

但是,这种驱动在中间件层仍然需要有配置

其它数据库驱动程序,并且由于多了一个中间层传递数据,它的执行效率还不是最好

Type4

本地协议驱动

这种驱动直接把jdbc调用转换为符合相关数据库系统规范的请求由于4型驱动写的应用可

以直接和数据库服务器通讯这种类型的驱动完全由java实现,因此实现了平台独立性

本地协议驱动---------数据库Server

由于这种驱动不需要先把jdbc的调用传给odbc或本地数据库接口或者是中间层服务器所

以它的执行效率是非常高的而且,它根本不需要在客户端或服务器端装载任何的软件或驱动

这种驱动程序可以动态的被下载但是对于不同的数据库需要下载不同的驱动程序

Jdbc-odbc桥由于它的执行效率不高,更适合做为开发应用时的一种过度方案,或着对于初学

者了解jdbc编程也较适用

对于那些需要大数据量 *** 作的应用程序则应该考虑2,3,4型驱动在intranet方面的应用可以

考虑2型驱动,但是由于3,4型驱动在执行效率上比2型驱动有着明显的优势,而且目前开发

的趋势是使用纯java所以3,4型驱动也可以作为考虑对象

至于基于internet方面的应用就只有考虑3,4型驱动了

因为3型驱动可以把多种数据库驱

动都配置在中间层服务器所以3型驱动最适合那种需要同时连接多个不同种类的数据库,

并且对并发连接要求高的应用

4型驱动则适合那些连接单一数据库的工作组应用。

按Windows徽标键,进入开始界面,找到Net Configuration Assistant,单击运行之

进入Oracle Net Configuration Assistant配置向导,勾选本地网络服务名配置,单击下一步;

在网络服务名配置中,勾选添加,单击下一步

输入服务名:dbname(oracle数据库的服务名通常是全局数据库名,即输入创建的数据库名称)

选择访问数据库的协议:TCP,单击下一步;

输入数据库所在的计算机主机名:dream(也可以输入主机IP地址),勾选使用标准端口1521,单击下一步

测试,进行连接数据库的测试,勾选是,进行测试,单击下一步,

选择更改登录,输入数据库的用户名、口令,单击确定,显示正在连接,测试成功

配置网络服务名,单击下一步;

是否配置另一个网络服务名,勾选否,单击下一步,显示网络服务名配置完毕,单击下一步,单击完成

运行plsql,输入用户名、口令,选择数据库,连接

步骤1按Windows徽标键,进入开始界面,找到Net Configuration Assistant,单击运行

步骤2进入Oracle Net Configuration Assistant配置向导,勾选本地网络服务名配置,单击下一步;

步骤3在网络服务名配置中,勾选添加,单击下一步

步骤4输入服务名:dbname(oracle数据库的服务名通常是全局数据库名,即输入创建的数据库名称)

步骤5选择访问数据库的协议:TCP,单击下一步;

步骤6输入数据库所在的计算机主机名:dream(也可以输入主机IP地址),勾选使用标准端口1521,单击下一步

步骤7测试,进行连接数据库的测试,勾选是,进行测试,单击下一步,

步骤8选择更改登录,输入数据库的用户名、口令,单击确定,显示正在连接,测试成功

步骤9配置网络服务名,单击下一步;

步骤10是否配置另一个网络服务名,勾选否,单击下一步,显示网络服务名配置完毕,单击下一步,单击完成

步骤11运行plsql,输入用户名、口令,选择数据库,连接

学弟

1月9日 16:16 CMI:技术的核心

正如您从我的上一篇文章(以及所有出版物)中所了解到的,Windows XP Embedded 使用基于 SQL 的数据库来存储所有组件。数据库可以是本地或远程的 Microsoft® SQL Server,也可以是本地的 Microsoft® 数据引擎 (MSDE)(可在 Windows XP Embedded CD 上找到)。而 Windows NT Embedded 40 则使用一个单一的本地 Jet 数据库 mdb 文件来存储所有的组件和配置。

为了能够从一组工具中无缝访问本地和远程数据库,同时提供快捷的数据库切换,整个体系结构中设置了一个数据库通信层。该层称为 CMI,或组件管理接口。它的主要目的是在 Windows XP Embedded 工具(Target Designer、Component Designer 和 Component Database Manager)和组件数据库之间提供一个标准接口,而不管数据库驻留在哪里(本地或远程、SQL Server 或 MSDE)。只要与组件数据库中的内容有关,CMI 就会被调用。

因为所有工具都依赖于活动的数据库连接来进行工作,所以任何工具所做的第一件事都是请求 CMI 提供一个活动数据库连接。如果没有可用的数据库连接,CMI 将返回一个失败,而工具将报告一个错误。总之,没有数据库连接,Windows XP Embedded 将不能进行任何工作。

CMI 也支持某种级别的异步数据库访问,这种情况通常发生在远程 SQL Server 数据库和多个客户端之间。所有涉及数据库更改的 *** 作都在 SQL 中处理,并在 *** 作失败时提供复原功能。CMI 还可以区分只读模式和独占模式。任何工具要从数据库中删除信息(当前仅限于组件数据库管理器),都必须具有独占访问权限,如果任何其他工具打开了数据库,该工具将不能获得这一权限。另一方面,如果某工具已经被授予独占访问权限,其他工具将不能访问数据库,直到该工具释放这一权限。

此对象非彼对象

注意:下面的讨论中将使用两个术语 - 组件和实例,二者很容易混淆。简单地说,组件只是一组驻留在数据库中的资源和属性。组件添加到配置中便称为实例,可以修改、处理和构建。可以把组件视为 cookie 模式,而实例是从该模式中创建的实际 cookie。更改 cookie 剪裁模式并不容易,但在剪裁 cookie 后,可以随意对 cookie 进行处理。了解组件和实例之间的这种差异很重要,在本文和以后的文章中都将涉及这一问题。

因为 CMI 是工具的 COM 服务器,这使得 Windows XP Embedded 体系结构形成这样一个基本特性 - 把任何事物都视为对象。配置、组件、实例、资源、文件、注册项、存储库都是 CMI 覆盖下的对象。因此,Windows XP Embedded 体系结构体现了面向对象 (OO) 思想的三个原则:封装、继承和多态。这里我们不对 OO 设计做详细讨论,只解释其中与 Windows XP Embedded 体系结构有关的几个方面。讨论的重点将集中在组件上,但相关的概念可以扩展到所有 Windows XP Embedded 对象。

每个 Windows XP Embedded 对象都是一个独立的单元。组件带有自己的属性和内部代码,以此来封装自己,并与其他对象区分开来。

组件也能够继承其他组件的属性。例如,假定一组设备都基于同一芯片组:假设为声卡驱动器,使用虚构的 SoundExplosion 1A 芯片组。有三个声卡使用该芯片组,但提供不同的功能:一个用于游戏端口,一个用于 MIDI 端口,另一个用于 SCSI 接口。我们不用创建三个大同小异的组件来适应不同的要求,而只需创建一个组件,将基本功能封装进去。然后针对三种差异创建三个组件,并将基本功能组件列为“原型”。这三个组件将继承与原型相关联的属性和资源,但同时也添加了自己的资源。

Windows XP Embedded 对象中的多态通常由 DHTML 配置脚本和构建脚本来处理。DHTML 配置脚本允许组件的最终用户在组件实例中动态设置属性,然后在构建脚本中检查这些属性并对其做出反应。这样,您就可以在构建配置时更改组件的行为,以满足开发人员的需求。

这最后一部分会进一步体现 CMI 面向对象的特性:Windows XP Embedded 中的每个对象都具有一组属性和方法,某些对象甚至能够对事件做出反应。属性可以分为标准属性(如组件名称、组件作者和版权)和高级属性(cmiNoHelpFiles 是组件的一个常用高级属性)。对象的方法可以简单地继承自基本组件(如基本构建行为),也可以是该组件所特有的(如用户接口核心组件,它包含 DHTML 配置脚本以及构建脚本,可以实现不同的 UI 功能)。可以在构建过程中引发事件,并可由组件脚本做出反应。

某些高级属性已经被预定义,组件最常见的高级属性有 cmiNoHelpFiles(构建脚本用它从构建中删除帮助文件)、cmiLangEnableMUI(构建脚本用它来启用组件的多语言用户接口 [MUI] 支持)以及 cmiProtPropList(Target Designer 用它来保护预定义的属性)。要检查组件的高级属性,可以在 Target Designer 中将组件添加到某个配置,然后在 Configuration Editor 中单击该组件,再单击 Advanced。

扩展对象模型

Windows XP Embedded 的对象特性和 CMI 应用不仅限于组件和实例,CMI 也把配置当作对象处理。配置的标准属性包括配置名称、所有者、作者和版权。高级配置属性包括有关目标启动驱动器、启动 ARC 路径和帮助文件的设置。要检查这些属性,可以在 Target Designer 的 Configuration Editor 中选择配置名称,然后在 Details 窗格中单击 Advanced。

与组件和实例的对象身份一样,它们的组成部分也都被视为对象。组件中的每个文件、注册表或其他资源都是对象,分别具有一组属性。要检查这些属性,可以在 Configuration Editor 中展开实例,然后选择 Files、Registry Data 或 Resources。在 Details 窗格中右击所要检查的资源,这时便会显示该资源的标准属性,同时显示 Advanced 按钮,单击该按钮可以显示资源的高级属性。这同样适用于与该配置相关联的 Extra Files、Extra Registry Data 和 Extra Resources。要完成所有内容,每一个组、包、存储库和存储库集也都被作为对象处理,它们都有自己的标准属性和高级属性。

CMI 的运作

假设我们有一个应用程序要包含到一个运行时映像中。一般的过程是先为应用程序创建一个组件,将组件导入数据库,将组件包含在某个配置中,然后构建运行时映像。现在我们看一下 CMI 在其中的作用。(由于要在接下来的两篇文章中详细探讨组件的创建,因此这里只做一个简单的介绍。)

当启动 Component Designer 时,CMI 首先确保具有一个数据库连接。如果创建新组件,CMI 将创建一个新的组件对象,然后 Component Designer 使用该对象作为所定义的所有组件信息的存储位置。基本的创建过程包括定义组件的名称、指定要复制的文件和将其放在运行时映像中的位置,以及指定使用哪个注册表主键并将其放在何处。名称是组件的标准属性,因此它包含在组件对象中。所指定的文件和注册项是 CMI 创建的对象,它们将附加到组件对象中。

导入组件时,先启动组件数据库管理器。数据库管理器首先调用 CMI 来连接安装时指定的数据库,如果 CMI 连接成功,则可以将 SLD 导入到该数据库。(SLD 表示资源级别定义,并称为“滑动”。由 Component Designer 输出。)组件数据库管理器再将 SLD 传递到 CMI,以便进行处理。浏览数据库、删除包和组件以及检查对象的属性都由 CMI 处理,CDM 的作用相当于基本 COM 对象层的 UI。

当最终准备构建运行时映像时,CMI 将再次验证数据库连接。(是否看到了一个模式?)创建新的配置需要由 CMI 来创建相应的对象,完成整个组件浏览器的内容也是如此。要将组件添加到配置,CMI 首先要基于选定的组件创建一个实例,然后将其附加到打开的配置中。同时也要为该实例的文件、注册表和其他资源创建资源对象。在相关性检查过程中,CMI 将负责标识相关性,并创建相关性解析所需的组件列表。在构建过程中,将调用 CMI 来访问要复制的实际文件,同时提供详细的属性信息来处理相应的构建。

以上就是关于常见数据库的驱动加载片段中协议区别全部的内容,包括:常见数据库的驱动加载片段中协议区别、dbvisual如何连接oracle 数据库、如何用plsql连接oracle数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10093369.html

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

发表评论

登录后才能评论

评论列表(0条)

保存