none
关于连接数据库命令,不同网段间连接数据库命令该如何使用? RRS feed

  • 问题

  •    偶用Winform开发的应用程序,在每个界面需要连接数据库的代码中如下:
       string connection="server=192.100.3.3;database=AIS2009033015694;uid=sa;pwd=;";
      
      但是出现了问题:因为服务器的IP是192.100.3.3,在服务器的TCP/IP的属性中"高级"中添加了192.100.0.3--192.100.5.3等一个四个网段,用于连接0到5段不同的IP地址

       我将应用程序打包部署后,在192.100.2段中的某个用户上安装后,必须在TCP/IP的属性中"高级"中添加192.100.3.243,某个IP地址,必须在网关中也添加192.100.3.1网关,这样偶的应用程序才能使用,
      请问,有什么办法,能根据用客的IP地址判断,自动链接到服务器的IP地址段呢?
    • 已移动 mldark 2010年1月28日 18:06 (发件人:Visual C#)
    2010年1月28日 3:57

答案

  • 这个是网络配置问题。因为 192.168.0 网段默认子网掩码是 255.255.255.0,因此在 192.168.0 网段的计算机 (IP 为 192.168.0.0 - 192.168.0.255) 无法访问 192.168.1 或者其他网段。所以造成在不同网段的计算机之前无法正常通信。

    解决办法之一,修改所有 192.168 网段的子网掩码为 255.255.0.0,这样,192.168 网段的所有计算机可以相互访问。但这种做法需要更新所有计算机 TCP/IP 配置,如果您没有 DHCP,就很难达到目的。

    另外一种方法就是改网段,192.168 属于 C 类本地网段,您可以改成 B 类本地网段 172.17 或者 172.16。 B 类网段默认子网掩码为 255.255.0.0。

    第三种方法就是利用路由和桥接,这个比较复杂,我也弄得不是很清楚,就不说了。

    第四种方案就是用 IPv6 地址连接。
    Mark Zhou
    • 已标记为答案 Mog Liang 2010年2月4日 5:34
    2010年1月28日 9:24

全部回复

  • 可以借用try多快层异常 如果连接上不出异常就可以  try也可以做判断

    2010年1月28日 4:06
  • 你好!

    我测试了下,多 IP 不设网关也是可以连接的。

    知识改变命运,奋斗成就人生!
    2010年1月28日 4:34
    版主
  • 这个是网络配置问题。因为 192.168.0 网段默认子网掩码是 255.255.255.0,因此在 192.168.0 网段的计算机 (IP 为 192.168.0.0 - 192.168.0.255) 无法访问 192.168.1 或者其他网段。所以造成在不同网段的计算机之前无法正常通信。

    解决办法之一,修改所有 192.168 网段的子网掩码为 255.255.0.0,这样,192.168 网段的所有计算机可以相互访问。但这种做法需要更新所有计算机 TCP/IP 配置,如果您没有 DHCP,就很难达到目的。

    另外一种方法就是改网段,192.168 属于 C 类本地网段,您可以改成 B 类本地网段 172.17 或者 172.16。 B 类网段默认子网掩码为 255.255.0.0。

    第三种方法就是利用路由和桥接,这个比较复杂,我也弄得不是很清楚,就不说了。

    第四种方案就是用 IPv6 地址连接。
    Mark Zhou
    • 已标记为答案 Mog Liang 2010年2月4日 5:34
    2010年1月28日 9:24