精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>数据库编程------乾坤在握>>C++Builder多层数据库设计(五)

主题:C++Builder多层数据库设计(五)
发信人: skyice()
整理人: skyice(1999-12-30 01:12:46), 站内信件
6.在Windows 95下运行DCOM服务程序
  建立DCOM网络的方法有三种:
  *可以通过两台Windows NT机器运行DCOM服务程序和客户程序.
  *如果使用Windows  95的话,那么应该在Windows 95机器上运行客户程序,
在Windows NT服务器上运行服务程序.
  *也可以把Windows 95机器作为服务器,但会产生一些问题,尤其是需要考虑
安全性时.对于Windows NT机器,至少应该在Windows NT 4.0 Server版安装
Service Pack 3.在编写这一部分内容时,Windows NT 5.0还只是Beta 1版,
因此我不想对Windows NT 5.0对于这方面的影响作任何评价.我在Windows 
98的Beta 3版上使用过DCOM,一切都运行的很好.然而对Windows 98中所扩充
的COM或DCOM功能,我没有作过太多的研究.
  首先,让我们来讨论一下传统的情况,也就是Windows 95机器在客户端,Wi-
ndows NT服务器在服务器端时的情况.在这种情况下,应该把Windows 95机器
由共享级访问控制(Share Level Access)切换到用户级访问控制(User Level
 Access),可以使用控制面板上的"网络"设置来完成这一工作.
  用户级可以共享NT域名服务器(NT Domain Name Server),或在网上用户可
以访问的一些其他资源.用户级访问控制的思想是服务器的管理员为每个用户
分配一定的权限.尤其是用户有运行一个或多个DCOM程序的权限.如果给了用户
运行服务器上所有DCOM程序的权限,那么就等于给了用户在服务器上的所有权
限.
  DCOM可能会内置在Windows 98种,但是既然DCOM是销售产品,那么Windows
95肯定不会内置DCOM.因此,Windows 95的用户应该从下面的站点:http://
www.microsoft.com/com/dcom95/download -f.htm下载DCOM95.
  如果访问这个站点有困难,那么可以把URL中的download -f.htm去掉.
  为了配置服务器,可以使用Microsoft的Web服务器上(网址与上面得相同)免
费的DComCfg.exe应用程序.请注意,安装DCOM95 1.1后,可以发现在Windows/
system目录的DCOM95子目录下有一组关于如何使用这一工具的说明.
  注释:前面已经说过,不用切换到用户级访问控制就可以将DCOM服务器连到 
Windows NT机器上,但是这样做的话,可能会降低安全性.我可以将我的机器与
任意一台Windows NT机器上的DCOM服务程序相连,而不用考虑NT机器与95机器
是怎样配置的,只需要在Windows 95客户机和Windows NT机中输入相同的用户
名和密码.在这些情况下,不需要对Windows 95或Windows NT作任何改动,只需
要保证DCOM安装在Windows 95下就可以了.
  有些人还可以不用设置用户级访问控制,只需在NT服务器上运行 DComcnf-
g.exe文件,选择Default安全设置页,将访问权限分配给所有的人(不过,如果没
有选择用户级访问控制的话,我是不能在Windows 95下运行DComcnfg.exe).
  如果考虑安全性的话,那么这些方法就有问题了.没有一种方法可以限制那些
在机器上运行automation服务程序的程序员的权限.如果采用这些方法的话,就
是给了系统中每个人服务器管理员的权限.
  如果不用考虑安全性的话,那么就不需要考虑域名服务器和用户级访问控制
方面的问题.如果想要增加安全性的话,那么必须重新配置Windows 95和Win-
dows NT.现在已经进入了Windows NT 5.0时代,那么这些情况就会发生一些变
化,但是对于安全性方面的要求可能会变得更加强烈.
  还需要说明一点,事实上,许多情况下都不需要考虑安全性.如果网络中不需
要考虑安全性的话,那么就不必非得加上安全性方面的设置.
  下面是需要记住的一些要点:
  * 在大多数情况下,用户级访问控制要求在网络上有一个Windows NT的域名
服务器.将标准的Windows NT 4.0服务器转变成域名服务器需要对Windows NT
进行彻底的删除.
  * Windows NT机器不需要任何类似与DCOM服务器的配置.
  * 不能远程运行在Windows 95机器上的OLE服务程序.在调用程序之前,程序
必须已经驻留在内存中.对于NT机器,情况就不是这样,如果内存中没有服务程
序的话,那么也可以自动运行这个服务程序.
  * 在Windows 95或Windows NT机器上可以运行Dcomcnfg.exe来配置DCOM程
    序.在Windows NT 4.0机器上,Dcomcnfg.exe程序的缺省路径为WinNt/S-
ystem32目录;在Windows 95机器上,Dcomcnfg.exe程序的缺省路径为Windows
/System目录.
  * 我喜欢使用域名服务器,并且发现在Windows 95机器上,用户级访问控制
比共享级访问控制的功能更为强大,使用起来也更方便.然而,我花了一段时间
来学习如何建立域,并且我还是NT机器的管理员.如果你们不能掌握域的话,那
么就不会使用他们.要掌握域的话,需要找一本NT服务器方面的书.此外,如果需
要控制网上的域名服务器的话,那么就会比较麻烦.然而,我认为在适当的环境
下,有装有域名服务器的Windows机器所组建的网络还是非常不错的.在适当的
环境下,域名服务器可以使Windows网络满足你所希望的功能.
  这样,最终的结果是我们一般不会安装DCOM服务器,除非在网络中有一台NT服
务器,并且即使在最好的情况下,Windows 95级企业不能用来充当一台服务器.
了解这些后,我们就会把NT机器当作DCOM服务器,把Winodws 95机器当作客户
机.
  下面所提到的这篇文章更加详细的介绍了如何将Windows 95机器设置为DCOM
服务器:http://support.microsoft.com/support/kb/articles/q165/1/
01.asp.如果访问这个站点有问题的话,那么可以察看Microsoft Article 
ID:Q165101,标题是:"HOWTO:Use Win95 as a DCOM Server."其他相关的信
息可以在下面的站点:http://support.microsoft.com/support/kb/artic-
les/q165/3/00.asp中找到.如果访问这些站点时出现问题的话,那么可以察看
Microsoft Article ID:Q165300,标题是:"BUG:Remote COM Calls Fail 
Because RPCSS isn't Started".
  Dan Miser为Windows 95的DCOM用户作了一个网页:http://www.execpc.c-
om/~dmiser/dcom95.htm.如果在Windows 95下使用DCOM的话,那么应该察看
一下这个网页.
  前面提到的关于Windows 95下的DCOM服务器的文章的内容可以概括为以下几
点:
  必须在用来充当服务器的Windows 95机器中运行RPCSS.EXE.
  更改Windows 95注册表中的目录:
  HKEY_LOCAL_MACHINE\Software\Microsoft\OLE\EnableRemoteConnect
  更改完这个目录后,目录的值将被设置为Y.设置这个目录失败的话,在客户机
上就会出现下面的出错信息:Run-time error '429':ActiveX component 
can't create object.同时,Dan Miser也推荐在注册表的同样的目录下设置
下面的值:
  LegacyAuthenticationLevel=1.
  如果这些看起来太复杂的话,那么可以更为简单的概括为:如果想要使用DCOM
的话,那么还需要购买Microsoft的服务程序.因此,想要把Windows 95机器用
作服务器是不可能的事.Windows 98和NT 5.0的情况会怎样,可以在以下站点
察看一下这方面的更新能容:http://users.aol.com/charliecal和
http://www.borland.com/techvoyage.
  刚开始的时候,这些内容看起来有点复杂.事实上,DCOM只不过是在已有的COM
技术上添加了一些新的功能.如果使用过COM的话,那么就可以很容易的使用
DCOM.
  下面,让我们来学习如何把现有程序转变为一个分布式应用程序.

——原文由ifeelyou发表

--
子非鱼,安知鱼之乐?
子非我,安知我不知鱼之乐?
Please let me feel you!

※ 修改:.skyice 于 Dec 29 00:31:06 修改本文.[FROM: 202.99.77.204]
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.135.210]

[关闭][返回]