(北京)  公司总部(简称T)
                                  ∣         服务器  SQL7.0 
                                  ∣         ADSL线路
                                  ↓         固定外网IP地址
                               电信网络  
            ________________________________________  internet
            ∣                                    ∣                    
            ∣                                    ∣   ADSL线路    
            ↓                                    ↓
      (上海) 子公司A                       (深圳)子公司B 
       ∣         ∣                       ∣        ∣   内部局域网网
       ↓         ↓                       ↓        ↓
       A1   A2 A3...        B1   B2...  客户端问题说明:
以上是一张网络示意图,是这样的   :
公司T它的总部设在北京,在上海和深圳各有一办事处。。
总部T通过ADSL连接到互联网上并申请了一外网的固定IP地址,装有SQL数据库,存放总部的业务数据。
各办事处A和B都有自已的内部局域网。也申请了一条ADSL,并可以连接到internet,没有固定的IP地址,各个客户端通过局域网中的共享上网或是代理服务器。
1。要求:各个计算机客户端都能连接访问总部T的数据库
请做过类似案件的朋友们给出几种解决方案;;在此感谢。(具体的解决方案)。
2。我知道2000中可以做一种VPN虚拟局域网技术。不过我没有做过。是不是它可以实现像这种多台客户共用一条线路,而形成一个局域网的技术。
3。另外据说一般的代理服务器软件不能实现客户端直接访问数据库这样的操作,不知是设置的问题,还是没有此功能?还是需要在自已开发的软件中来设置代理来访问?如果这样会十分麻烦了。。还是要购买其它的代理软件。以上程序用VB6.0 +ADO2.5+SQL7.0实现请各位给出点意思和经验。。(对具有价值的将以重分感谢)

解决方案 »

  1.   

    VPN是要网管做的,不是PROGRAMMER的责任
    如果是不需要直接操作数据库的话(如通过WEB方式)可以做个WEB服务,在VB里调用,就可以以WINFORM的方式操作数据库了
      

  2.   

    通过Internet直接操作总部数据库?那你的安全怎么控制得了呢?你们的数据岂不是对Intenet透明了?我想还是应该用Socket+加密传输做吧?
      

  3.   

    我认为有2种
    1,用邮件加密后发送
    2,TCP/IP加密发送
      

  4.   

    你可以试试.net framework WebApplication。
      

  5.   

    建议你配置服务端(公司总部)
    1.使用webservice,比较方便
    2.服务端建立监听,客户端请求,就是分布式的程序
    这样做,vb在数据处理方面比较麻烦。我用pb做个一个,现在运行的比较不错
    3.使用sqlserver的连接服务器功能,写存储过程。在服务器中可以直接对已经连结的数据库操作,不过安全性较低
      

  6.   

    使用sqlserver的连接服务器功能,写存储过程。在服务器中可以直接对已经连结的数据库操作,不过安全性较低
    你去www.pdriver.com看看千人纪录
      

  7.   

    这些资料,你看看
    1.http://www.csdn.net/develop/read_article.asp?id=16406
    http://www.ourfly.com/bbs/dispbbs.asp?boardID=5&ID=72
    2.http://www.ourfly.com/download/downloadlist.aspx?type=VB
    服务端、客户端之间的通信(源码提供) 
      

  8.   

    几个方案:1、最简单的方法是采用B/S结构,因为T有固定IP,所以可以在服务器上用ASP做WEB连SQL,客户通过IE即可访问。2、在1的基础上为了安全,可加防火墙并用VPN访问。3、T不做WEB,在客户的C/S程序里直接加入T的IP访问,通过WIN或SQL验证后访问SQL的存储进程,这样T不对Internet开放,最安全。最终要根据你的程序来定方案。
      

  9.   

    楼上。。对于防火墙并用VPN访问
    如果子公司是多个客户端通过一条线路共享上网。
    如何解决??
      

  10.   

    给楼主一颗定心丸:  VPN数据包可以通过NAT类型的代理服务器(防火墙)
      
      楼主可要给分吆!
      

  11.   

    1。要求:各个计算机客户端都能连接访问总部T的数据库
    请做过类似案件的朋友们给出几种解决方案;;在此感谢。(具体的解决方案)。
    >>>>如果你有固定IP,可以在程序中直接连接,与局域网没什么分别,我测试过,完全可以2。我知道2000中可以做一种VPN虚拟局域网技术。不过我没有做过。是不是它可以实现像这种多台客户共用一条线路,而形成一个局域网的技术。
    >>>>VPN与数据库连接没有关系,只是一个组网方式而已,相对上一种方式而言,从系统级安全很多,2000下完全支持,我测试过.3。另外据说一般的代理服务器软件不能实现客户端直接访问数据库这样的操作,不知是设置的问题,还是没有此功能?还是需要在自已开发的软件中来设置代理来访问?如果这样会十分麻烦了。。还是要购买其它的代理软件。
    >>>>不太明白这个问题,你所说的代理服务器软件是做什么的,如果是防火墙或共享上网之类的,只需将1433,1434端口打开,一个TCP,另一个是UDP回答完毕,希望对你有点帮助
      

  12.   

    子公司是多个客户端通过一条线路共享上网,也一样,因为VPN是在防火墙基础上建立的(俗称打洞),所以只要在路由代理或防火墙上设置后,子公司的多个客户端就能够通过一条线路共享上网实现VPN。
      

  13.   

    来晚了给你两个建议:1、如果你坚持用VB开发的话,那么就用VPN方式。我知道的佳软http://www.justsoft.com.cn/
    给北京同仁堂做的软件时,由于地理的限制,采用了VPN方式。2、最好的方式是用asp.net进行开发成web方式,由于你有vb的基础,采用
    Visual Studio .net 的asp.net上手很容易,我现在一部分开发就用的是asp.net
    ,用Ado.net访问数据库SQL SERVER2000,开发速度也很快。
      

  14.   

    还有一种办法是利用Web Service,  在北京的服务器上做成Web Service
    在异地调用!如果是我,我就会选择asp.net
      

  15.   

    如果你必须用VB6.0 +ADO2.5+SQL7.0实现那就用VPN, 不过好象得从电信开一个带宽,需要一些费用