路由器只有 MAC地址-IP 的对应关系,通讯是通过 IP 来确定源和目标的。
局域网没有域服务器,所以客户端无法将服务器的计算机名转换成 IP,当然无法通讯了。
设立共享目录后,应该是Windows发送了一个全网消息,让客户端得到了 计算机名-IP 的对应关系,所以可以通讯了。建议把数据库服务器设为域控制器。

解决方案 »

  1.   

    工作组环境的局域网是通过netbios协议来解析计算机名的,和域、DNS没关系。
    解决方法直接搜“计算机名不能访问”,太多了就不复制粘贴了
      

  2.   

    在客户端的 hosts 文件中加一条,重启。
      

  3.   

    在客户端的 hosts 文件中加一条,重启。添加了一条记录  192.168.0.22   SqlServer (服务器计算机名)  之后,使用SA:口令的方式可能登录了,但是 使用WINDOWS身份验证的方式还是不能登录,其登录语句如下:Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=sj;Data Source=sql\MSSQLSERVER而后
      SqlConn.CursorLocation = adUseClient   'by xiantao add 4/24
      SqlConn.Open (SqlS)    '   执行失败,提示是 [DBNETLIN]无效的连接 请问是何原因?
      
      

  4.   

    工作组不能用WINDOWS身份验证。
    参考 SQL Server 中的身份验证
      

  5.   

    将SQL的认证模式改为windows与sql混合认证
      

  6.   

    在客户端的 hosts 文件中加一条,重启。添加了一条记录  192.168.0.22   SqlServer (服务器计算机名)  之后,使用SA:口令的方式可能登录了,但是 使用WINDOWS身份验证的方式还是不能登录,其登录语句如下:Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=sj;Data Source=sql\MSSQLSERVER而后
      SqlConn.CursorLocation = adUseClient   'by xiantao add 4/24
      SqlConn.Open (SqlS)    '   执行失败,提示是 [DBNETLIN]无效的连接 请问是何原因?
      
    谢谢,最终我发现是因为该语句后没有加端口号。非常感谢大家。