总公司使用的是VB6.0+SQL2000开发的进销存软件,现在希望各地分公司也使用软件,卖出东西或者进了新货,上传一下总公司马上能知道,数据库在总公司的,分公司都是客户端,总公司和分公司都没固定IP,总公司使用ADSL宽带,分公司使用猫或者无线上网,做到这样的要求,需要使用一些什么技术,希望大家给点开发上面的建议

解决方案 »

  1.   

    有几种办法可以实现:
    一、申请一个专门的邮箱,当总公司上网后,使用SMTP或POP3协议将总公司服务器的IP地址发送到邮箱中,邮件名称约定。分公司亦使用相同的E-MAIL协议定时读取最新的约定名称的邮件,获得IP地址,然后建立服务器与客户端的连接。(使用BBS共享IP存在不安全隐患)
    二、使用IP VPN。不过这门技术不太热络,加上我长年呆在乡村里养猪,见识短,所以没看到过实例,要是有一个好的SP,应该效果更好。
    三、强烈建议你劝领导放弃这种想法,否则,即使你用上面两种技术实现了,但以后的稳定性、安全性、扩展性以及带宽等问题会让你遗患无穷,甚至让你被炒鱿鱼。因为我养猪以前,也是专门做软件的,1998年用拨号上网为单位建立远程办公网,结果是项目成功了,人被开了(因为前面的缺点),没办法,只好回老家养猪了。
      

  2.   

    找全总公司ISP服务商可用的IP地址范围,分公司客户端上网后,向这些网段发送数据包扫描,总公司接收到数据包后根据自己设置的协议获取分公司的IP地址,再进一步进行连接.
      

  3.   

    感谢大家的回帖,如果总公司使用花生壳软件获得一个IP,此IP地址怎么和数据库连接起来呢(给个设计思路就行);我想再问下,商场里面一些卖衣服的,他们是通过什么实现远程查询数据库,了解此款衣服在其他商场还有没有存货的呢
      

  4.   

    商场POS系统一般采用C/S结构,而实现C/S结构的办法有很多种,在VB中可用socket组件、共享目录(简单、安全性差)、数据库本身提供的远程访问接口(部分数据库本身就提供了远程访问功能)、DCOM(实现较为麻烦)、DLL代理。
    还可以采用B/S结构,编写和维护简单,但响应速度较慢。
      

  5.   

    lyserver :谢谢啊!我说的不是商场的POS系统,是商场里面例如艾格女装他们的软件,他们应该是3层C/S结构的,我想他们应该也有个主服务器,他们卖出一件衣服就应该会刷新,比方他们店里没这个尺寸的衣服,会查询其他区域的商场有没有,他们这样做的是不是算同步更新了呢,我们想达到的效果也类似他们这样,卖出去东西或者进了新货,只要上网联通一下,总部数据库这里马上就能更新
      

  6.   

    一般如果你的分公司知道你总公司的ip地址的话就可以通过VB的winsock控件发送实时的数据了。但是你的总公司的ip是动态的,每次都不一样。所以就要申请一个虚拟主机来记录动态ADSL的IP,程序访问虚拟主机来读出IP就可以了。另外:现在中国电信已经在封杀花生壳此类的软件了,动态adsl的80端口也给封了
      

  7.   

    要实现数据共享,最好采取数据大集中形式,即所有数据均存放在总公司,分公司负责数据录入或查询。
    你最好采用固定IP,或使用VPN建立网络,然后使用VB+中间件(如Tuxdo)+数据库的三层C/S结构,这样可将数据处理工作交给中间件,自己只写客户端的查询和录入界面,项目进度可大大提高。