要求是这样子的:
    在全国多个变电站中装有一台工控机用以监测,工控机本身有一个监控程序。现在要在北京学校的实验室中搭建服务器,把各地工控机上采集的数据有选择的传到服务器来做比较处理。
现在有几个问题:
    1、学校服务器在内网中,有个内网的IP地址。工控机装有MODEN用拨号上网,请问要用什么方式实现数据的传输。请大家给个方案。开发用C#,服务器数据库为SQL2000.
    2、若先不考虑远程控制的问题,仅是让工控机吧数据能传到服务器来。我想在工控机上常驻一个小程序,隔若干秒用ADO.NET连接服务器的数据库,让连接字符串的source=服务器的IP地址,然后直接吧数据传上来。而不用winsock,不知道可不可以。
    3、还有就是我记得拨号上网是isp给分配的自动IP地址,每次都不相同。那么我要在服务器上访问各地工控机用什么来标识它们呢?
    对了,工控机可当成一般的pc机来理解。多谢大家帮忙了

解决方案 »

  1.   

    工控机上常驻一个小程序,隔若干秒用ADO.NET连接服务器的数据库,让连接字符串的source=服务器的IP地址,服务器你用个静态的IP.
      

  2.   

    你首先要解决的不是用什么方式传数据,而是在内网的服务器和拨号的动态IP的工控机怎么通讯问题。
    如果工控机不能直接访问到在内网内的服务器的话,用ado.net这条路就根本没戏。
    如果对实时性要求不高的话,工控机方面可以每隔一段较长的时间把数据传到第3方服务器(可以用各种现有的通讯方法:ftp,mail等等),而在内网的服务器定时地从第3方服务器把数据取下来保存到数据库。
      

  3.   

    建议不要从外网直接连接数据库;无论是从安全性和性能都不可接受;
    建议做一个WebService发布在外网上,所有的客户端通过WebService来提交数据.
    WebService程序来访问内部的数据库服务器进行存取.
    这样可伸缩性,安全性都容易得到保证.前提条件是单个客户端的提交请求频率不要太高,如果是分钟级那应该是没有问题的.
      

  4.   

    服务器你用个静态的IP.或者做一个WebService发布