我在本地访问本地数据库可以,但是家里用路由器连接的别的电脑就不能访问。
我的开库方法是这么写的:
public void OpenConnection()
{
con = new SqlConnection("database=hb;server=121.20.196.38;uid=sa;pwd=");
con.Open();
}
server在访问本地数据库时我用的.代表本地服务器,访问路由器连接的另外一个电脑时,用的是路由器上的IP,但是这个IP我不太懂,貌似有好几个IP,有WAN IP,但是WAN IP每次登录都会变化,所以我用的DHCP客户端列表中的IP,server=192.168.0.3;但是登录程序连接不到数据库。我想问的是IP地址都分哪几种?都是干什么用的,我这个程序中连接局域网中的其他电脑中的数据库,连库方法应该怎么写?
如果另一台电脑和你在一个网关即和你是局域网关系,那就与路由器没有关系了用server=192.168.0.3 即可,但要保证对方的防火墙是关闭或者允许1433端口出入的,你的连接串没错。
WAN Ip 不是你本地的IP 无法作为数据库访问的依据,是服务商分配的IP,此IP对应的机器在服务商那里,自然不行,也是动态改变的,如果想固定此IP,用花生壳可以做到,但每次重启路由可能IP会变得。
1433: 在防火墙设置中,在例外里,添加端口1433即可。
server应当是服务器名。
使用局域网IP, 确定对方的1433端口有通, 注意安装SP4补丁与防火墙问题
你要访问的SQL SERVER数据库服务器有没有开启远程连接?网上有很多开启远程连接的设置过程的,不知道是不是这个原因 可以试试