如何建立一个“远近皆宜”的数据库应用环境 Blue-Libra 天极Blog
Blue-Librahttp://blog.yesky.com/Blog/wallescai/复制地址

老蔡的VB之家

公告栏
前面两个BLOG都挂了,有的东西再也找不回来了. 这个是我最后滴希望咯.
控制面板
日历
<2008年1月>
SuMoTuWeThFrSa
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789
留言簿(2)
文章分类
文章档案
日记分类
图像相关知识
VB相关,一些比较少见的技巧
C编程相关
网络编程
最新评论

兄弟部门要求开发一个多用户的数据库系统,当仁不让,我上了。

VB6+SQL2000 都是很成熟的东西,拿来就用了。

开工到完成,花了一个多月,也包括了调试和测试,最后就是试用了,比较顺利,没出什么问题。

经过一个星期的使用,可了,通过了。

过了几天,新的要求来了。兄弟部门说兄弟单位的部门也要用这系统,并且还要求共享数据。

问题来了。

数据库服务器建的时候是WINDOWS认证,不是SA认证

而兄弟单位和我们单位虽然有专线连接,但是我们属于不同的WINDOWS域。

也就是说,要使用我这个软件,必须登陆到我们的域里面,否则服务器是不让你连的。

虽然说可以给兄弟单位的用户也开个本域的帐号,但是人家也会闲麻烦呀。再说指不定人家也有什么系统是要在对方的域里面才能使用的呢?

(补充一下,其实还有一个问题,即使使用了SA认证,远程用户在专线的速度限制下还是几乎无法使用C/S模式运行客户端的,无论是VPN也好,DDN也好,除非你们单位很有钱,有6M以上的光纤接入。有问题的读者不要急着扔西红柿,我是有过实际教训的。)

怎么办?

还有办法:建个应用服务器,让兄弟单位的用户通过这个应用服务器来跑这个软件。

这样做有两个好处:

1:专线的速度。C/S应用对于网络的要求其实比较高,本地网络的用户感觉不到,但是远程用户,哪怕是1M的DDN用户,只要同时开不到十个客户端,就能让他们感觉崩溃。而应用服务器则不同,它只是“假装”在用户端运行,实际上这个客户端软件只是在服务器上运行,它只把界面传到远端的用户显示出来而已。并且WINDOWS在这一点上做得很不错,这个传输的通讯量非常小,一般来说,一个客户端不超过16K(可以优化)

2:夸域运行。即使远端客户不在本地域内,但因为应用服务器是在本地域,所以对软件的使用并没有影响,远端用户只需要通过临时帐号登陆到应用服务器上就可以了。并且不会影响到远端用户本身所在的域内部的操作。

 

实际操作:

1:安装一台应用服务器:我搞了台HP的台式机来用作应用服务器。反正是给别的单位用的,不考虑什么稳定性,再说HP的PC也不算差。系统采用WIN2K SERVER,杀毒软件装好,补丁打齐,安装偶写滴软件,恩,这个是最重要滴。

 

2:添加域用户,(这个是在域控制器上干的事,如果没有域的朋友忽略这步),然后将这几个新建的域用户添加到数据库用户里面,使得应用服务器能以这几个用户的身份连接到数据库服务器。

 

3:安装远程服务:TERMINAL SERVICE 系统自带的,呵呵

这个服务一定要安装成应用服务器模式,你可以在WINDOWS组件里面发现这个东西,(就是添加删除软件那个东西选WINDOWS组件)

 

4:建立终端服务:位于控制面板的管理工具里面(CONTROL PANNAL, ADMIN TOOLS)

里面找一个“终端服务配置”,只要你前面安装了终端服务,这里就能找到。

在“连接”里面新建一个远程,然后配置好“登陆设置”和“环境”这两项,前者指定要登陆的域(以便于远程用户登陆到本地域),没有域的话就不写了。后者写上你要给用户指定运行的应用程序了,比如: C:\PROGRAM FILES\ABC\ABC.EXE  这个最最重要,必填啊,否则你等于叫别人来远程遥控了。当然,还有一种做法是在这里运行一个BAT程序,因为BAT可以做更多的事,比如,你要给这个远程用户临时添加一个文件服务器的网络映射什么的,当然,最后还是要加上面这个ABC.EXE的哦。

 

到这里,基本上服务器端的工作已经完成了,接下来你只需要把服务器的地址告诉远程用户,让他们用“远程桌面”来登陆就可以了。(登陆密码就是你刚才给他们开的域用户密码,如果没有域,那就是你在应用服务器上给他们开的本地用户密码。)

 

常见问题:

1:没有远程桌面怎么办?

WIN2000里面需要下载个软件才能用:mstsc.exe 和mstscax.dll,也可以直接去XP里面找,找到了直接拷过来就能用。XP下面是自带的。

 

2:为什么远程应用覆盖了我的桌面?

这个东西它默认就是全屏的,会把用户的当前窗口给覆盖,需要在连接前设置好:

打开mstsc.exe,点“选项”,在“显示”一栏里面把“全屏”那个勾给去掉。还可以在这里设置默认窗口大小和颜色位(这个很重要,降低窗口大小和颜色位可以极大的降低你的网络消耗),为了这个缘故,我还特的把我的软件在800X600X256色下重新排版了,这样就能在不降低远程用户的使用体验的前提下提高服务器和网络的效率。

 

3:为什么每次打开桌面的时候,程序还是停留在上次推出前的状态?

要教育用户在退出的时候退出“应用程序”,而不是直接关闭远程桌面。

因为虽然在用户来说,他关闭了远程桌面,程序对于他来说已经不存在了,他甚至可以关机走人了,但是实际上应用程序依然“活”在远端的应用服务器的内存里,直到用户下一次打开远程桌面的时候大吃一斤。正确的做法是去退出应用程序,让应用程序结束之后,远程桌面也会自动断开连接关闭窗口的。

否则的话,你只要挑一个肯定不可能有人在上班的时间打开应用服务器的任务管理器,你就会很惊奇的发现:远程用户此时依然还在使用你的软件哦,实际上,它们只是被用户抛弃在服务器的内存里而已。

 

4:当用户过多时你会发现服务器给你一条什么“超过服务器客户端…”之类的信息。

你得去查一下你得WINDOWS SERVER的授权是多少客户端的。当然,如果你用的是盗版的话就不必问了。

 

 

最后补充一下,如果是外网的用户,建议使用VPN方式先接入到内网,然后再用远程桌面连接会比较好。

我们单位同时还有一套非常非常大的系统也是用应用服务器方式使用的,全球几千用户在用,不过采用的是CITRIX接入,本质上来说和WINDOWS自带的远程桌面没什么不同。

另外,对于应用服务器来说,需要有一个比较好的网卡,还要有很大的内存,建议千兆网卡+GB以上的内存,否则当用户较多的时候会影响表现。

 


作者:Walles Cai 阅读() 评论()  编辑 发表于:2008-01-02 19:06
相关内容
文章评论

  • # re: 如何建立一个“远近皆宜”的数据库应用环境
  • 这年头当然是写BS程序了。
    天极博友 | 2008-01-03 12:52

    发表评论
    标题 *
    姓名 *
    内容 *
       验证码: *       
           
    版权声明:天极是本Blog托管服务提供商。如本文牵涉版权问题,天极不承担相关责任,请版权拥有者直接与文章作者联系解决。
    Powered by:

    Copyright © Walles Cai