请高手指点:远程的用户如何连上数据库?200两白银(200分)

  • 主题发起人 主题发起人 tttsuhu
  • 开始时间 开始时间
T

tttsuhu

Unregistered / Unconfirmed
GUEST, unregistred user!
问题:
远程用户要通过电话访问数据中心的数据库,如何实现?并发的远程用户数量
可能较多(以百计)。请问在这种情况下,系统最好采用什么结构?
若为数据库服务器申请一个固定的IP,远程用户是否能够象本地局网方式下,
通过ODBC等来访问数据库(SQL Server)?
请高手不吝赐教!谢了先!!
白银双手敬上!
 
第一个问题没试过,搞不定
第二个问题当然可以,只需把服务器名用ip表示,客户端(即odbc中)配置为tcp/ip方式即可
 
第一个问题:
1.架设DDN专线,一般这种方式造价很高。
2.利用Modem,服务器端配置远程访问服务,远程用户通过Modem拨号到服务器进行访问。
但用户多的情况,服务器端恐怕还要搭一个Modem池。
第二个问题:
如果在局域网内,不一定要申请一个固定的IP地址,只要是一个内部唯一的IP即可。
远程用户可以访问该IP,从而访问服务器,就像在局域网里一样,不过要配置
TCP/IP,NetBui协议。
 
第一个问题
如没有固定IP,客户端可通过拨号方式登录到服务器,但每客户端都需占用一条电话线。
你有以百计的并发用户,如没有固定IP基本是不可行的。
第二个问题
如服务器有固定IP,则客户端通过Internet访问该服务器,但建议不要直接通过ODBC来访问
数据库,安全性太差。
程序结构可采用三层方式,中间层使用MTS,客户端通过中间层来访问数据库,效率和安全性
都比较好。固定IP地址可分配给中间层应用程序服务器。
 
timerri,zhiyue两位首先感谢二位的回答,
我面对的系统是一个既有本地客户又有远程客户的系统,远程客户主要是查询数据,并发
的连接可能较多(以百计),我对局域网方式的C/S系统较熟,但对远程访问没有搞过。
我谈谈我的几个远程访问数据库服务器的考虑方案(我在这方面没有经验,纯属大胆的猜
想,请不要见笑),请大家指点:
1、纯Web方式:
申请建立一个基于公共信息网的WEB站点,以纯Web方式来实现远程用户的访问,客户端
用浏览器,我觉得这样实现起来较为简单。但是数据中心一端就需要:申请专线或其他
方式的连接(无须提供24小时的不间断服务,只在办公时间内提供服务即可),申请域
名、IP,而且要维护网站,这样数据中心的费用较高,而客户端却无需承担什么费用。
而且安全上可能存在较多的问题

2、基于公共信息网的方式
在公共信息网上,申请一个固定的IP地址,申请一个ADSL(或网通的宽带网)之类的接
入方式,客户端自行开发客户端程序(上司主要想靠买点儿客户端程序赚钱),客户端
程序通过访问在公共信息网上的某个固定的IP地址的主机,来实现对数据库的访问。在
这里,正如前面所问,我就不知道这种方式下,数据库的连接是否可用ODBC,ADO之类?
其配置是否和局域网方式下类似,只是选用TCP/IP的方式连接即可以。底层的通讯是否
不用管,和局域网内的客户端等同对待,甚至可以用相同的客户端程序。只是运行该程
序之前远程用户必须先通过电话拨号上(互联)网。
客户端程序->ODBC - - - - - - - - - - - - - - - - - - - - - - <-数据库服务器
TCP/IP-> - - - - - - - - - - - - - - - - <- TCP/IP
Modem-> — Internet — <- ADSL

3、基于专用广域网的方式
在数据中心端设置Modem池、拨号访问服务器,申请多条电话中继线路,开发客户端程序。
客户端程序通过拨某个电话号码建立与数据中心建立连接。同样在这种方式下,数据库的
连接该如何处理,服务器段在软硬件方面需要进行哪些配置?而且,并发的客户端数量是
否就是申请的电话中继线路的数量?

上面是我的一点想法,请大家再多给些指点吧,谢谢!



 
whsunbin您好,我的注释是离线编辑的(当时没看到您的回答),同样感谢您的回答!
 
诸位大侠,能再继续讨论一下吗?再加100分!
 
现在程序结构可采用三层方式,这样客户端的维护量大大减少,这也是B/S流行的原因。
以前开发过C/S系统,客户端维护量很大,如果客户端只有3—4个,你还维护的过来,但象
你说的有那么多用户,都要安装客户端(上司的意思),一旦你的程序要升级或维护,
各个客户端就够你跑的了。现在有些数据库系统,号称Web就是数据库,是在浏览器和
数据库之间放了个解释器,从而将Web和数据库联系起来。可惜三层的没有做过,
不能提供什么有见地的意见,高手请继续。
 
SQL Server可以支持web发布,
这时就可在Internet上使用它了,
就同在局域网中一样,
只要你的网速够快。
 
tttsuhu:看来你对三层结构的概念非常模糊。
在三层结构中,客户端最好不要与数据库直接联结,
与数据库进行联结的是中间层,中间层与数据库的联结方式与C/S模式完全相同
客户端只与中间层进行联结,所有数据由中间层提供接口来访问。
所以客户端只要能访问到有中间层模块的计算机就可通过中间层访问数据库。
在Delphi5.x中客户端与中间层的联结方式有DCOMConnection;SocketConnection;
WebConnection;CorbaConnection四种,根据你的三种方案
如选用第一种WEB方式则客户端为浏览器,你只需编写中间层即可。
如选用第二种有固定IP则可选择DCOMConnection;WebConnection;CorbaConnection
如选用第三种方式通过拨号与服务器联结则最好选用SocketConnection
 
这样行不行 /::
只要用户拨号或在网上即可, 比如你申请一个固定ip即可 ,然后在客户端 内置一个登陆验证的
模块 ,来暗箱操作 ,
 
这个其实不难。用流行的三层结构实现开发:
开发中间层程序,客户端通过中间层访问数据库服务器。我现在做程序一般是这样做的
:把客户端与中间层程序做好以后。再做一个ActivX控件即(*。ocx)它具有从Web服务器
的发布目录下载客户端程序和中间层程序的注册文件到客户机功能)。然后以ActiveX的形式
加入到公司的主页。这样,所有的客户打开公司的主页,单击“某系统”按纽,程序自动
检测是否下载(或版本更新)。然后自动运用客户端程序,根据用户账号进入系统。

注:第一次由于要下载程序及注册*.Tlb所以比较慢。以后运行无论是远程拔号还是专线
都挺快。因为所以的数据运算都在远程的Web服务器的中间层完成。网络传递只是一些命令
与数据。你要注意仅仅是系统的账号认证机制而已。中间层添加这个功能就行。
 
非常感谢几位高手的指点与讨论,请问另加的100分如何分给各位?
 
多人接受答案了。
 
后退
顶部