如何从internet网或广域网上存取放在局域网内的数据库。如能完全解决,1000分奉上。 (300分)

  • 主题发起人 主题发起人 HunterTeam
  • 开始时间 开始时间
H

HunterTeam

Unregistered / Unconfirmed
GUEST, unregistred user!
希望各位能说得详细点。
我原先的系统只能在局域网内使用,通过两种方式连接数据库,一是用ADO控件,通过建立
的ORACLE的客户端连接串连接放在服务器端的数据库。二是使用三层控件,在程序无法通过
ADO连接后端数据时,自动转为用三层方式连接。
现在的设想是要让它在广域网或internet上也能连接回局域内的数据库,我这方面的知识又
偏少,还望各位不吝赐教。

 
些局域网有没有接入INTERNET?
 
做一个XIntranet。
 
很简单,在你的局域网内部设置一个提供Web服务的服务器,该服务器和Internet直接相连接。
如果没有做过类似工作,那就查下资料吧。
接下来,在该服务器上配置一个ODBC的数据源(这个东西大家应该没有问题吧,这个数据源,可以指向局域网的任何一台机。)。
剩下来的问题就相当简单了,在asp编程的时候,连接数据源的方式,只要使用ODBC数据源的连接方式,就可以访问该ODBC数据源指向其他机器上的数据库了。
 
to fpsky:没接入internet我还能指望从internet上存取它?
to renyi:请恕小弟愚钝。什么是XIntranet,如何做它,请说得详细点。

to Biggo:对不起,是我没说清楚,我不是通过网页的方式来做的,请你再看看我改过的
问题,不过还是谢谢你!

 
同意biggo的做法!
 
你说的不够清楚,远程访问具体要采用什么形式,b/s,c/s?安全性重要到什么程度,
对性能有什么特殊要求?
建议:1)B/S方式,WEB服务器负责数据库的访问,用户采用浏览器HTTP于WEB交互;
2)C/S方式,其实是个Client-Application server-database server三层方式,
建立一个数据访问的代理(Application Server),负责和用户SOCKET通讯,
类似联众游戏,明白了嘛?
 
to wangjiankang_71:恕我愚钝,不大明白。不过我想应该是你说的c/s方式吗,至于如何
建立一个数据访问的代理(Application Server),负责和用户SOCKET通讯,就不知该如
何着手了。我现在首先想知道的是如何能连接回数据库,安全性和其他的特殊要求容后再说。
 
可以用个ftp来存取数据,服务器装的什么系统在服务器端放ftp server 客户端通过固定ip
来访问,我就做过一个简单的internet 取数据的例子
 
to xujia:我装的是ORACLE数据库,把它放在FTP server,也能通过Ado组件或三层组件来访问
它吗?而且数据库是和别的开发人员共用的,放在哪里是别人说了算而不是我说了算,或许
我是可以建一个FTP目录,把目录设在数据库所在目录下。希望你把你的方法说仔细点。
 
通过internet进行实时的话,费用肯定很高,如果是非实时的就采用客户端拨号上!
1。可以内部机器上装上数据库,与internet连接的服务器上装上服务器端,客户端通过internet
连接你的应用服务器,行成三层的数据库体系!应该可以
2。以前我们做过距离不太远的(一般市区内),可以这样:直接用modem,isdn拨号同过
电话线拨号到你的内部服务器(插上电话线就可以了,呵呵),条件好点买个cisco2600
客户端花电话费,没有网费,相当于打市话,
 
你有没有做过3层开发,按你的想法,如果不通过Web方式的Asp编程,访问数据的话
那你就采用3层开发中的TSocketConnection连接数据源。
服务端用什么数据源都可以。客户端使用ClientDataSet,然后通过TSocketConnection连接服务器,
只要设定服务器IP就可以了。前提,最好你的服务器InternetIP是固定的为最好,不然 ,每次都必须想办法获取现在你服务器的IP。
 
如果你的数据库服务器的ip是对外可见的,就可以用ip直接相连了,
我想你的ip应该是对外不可以见的,那么你就要用代理服务器了,代理服务器安装在internet
可以访问的计算机上,接受外部的请求,然后把数据转交给数据库服务器,数据库服务器把数据
传出是道理一样,可以找一个这样的代理软件
 
小黄鱼开始说到点上了。这样的代理软件到哪里找呢,用了它后要在Delphi中作怎样的处理
呢?是不是照样可以使用原来的三层控件或其他控件来存取服务端的数据库呢?
 
我现在也遇到这个问题,直接用IP连接是可以的,一个问题是服务器代理连接问题,
就是楼上两位说的,另外还有一个问题不知道会不会有影响---客户端如果不是拨号
而是通过代理连接服务器,会有问题吗?这些问题也请高手一并指教。
 
这样的代理软件可能有,不过它的价格可能....
建议你可以使用vpn(虚拟专网)技术,在win2000server中有服务端,win98中就有客户端,至于
你的机器没有固定ip也可以解决:注册一个域名(免费),使用ip地址自动更新软件(这种软件网上可
以找到免费)每次你上网后它就将你的Ip与域名自动映射,这样在客户端就可以使用名称而不是
ip来连接了,连接后,客户就如同与你的局域网直接相连了.
这种方法的好处很多可以查一下这方面的资料.
 
windbell所说的的确是一个有意思的解决方案,不过我对使用这种方案还有什么要注意的
地方以及对我原来所写的程序有什么影响都不甚了解,还望windbell兄能说得更仔细些。
还有,所用的ip地址自动更新软件到哪里下载?我自己也找找,但如果有哪位能给出下载
地址那就更好。
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1245296
 
告诉你两个地址:
1.vpnhttp: http//www.cj888.com/softxue/5/new_page_29.htm
http://www.pcdigest.com/content-detail.asp?id=3592.0
2.ip自动更新: http://www.zgcszsc.com/downs/software/net/EastBridge.exe
 

Similar threads

回复
0
查看
848
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部