连接虚拟机中sql用ip连得上,用计算机名连不上解决办法

连接虚拟机中sql用ip连得上,用计算机名连不上
这是连接语句,用ip192.168.158.134能连上虚拟机,但是通过获取的虚拟机中的win7计算机名却连接不上,显示错误是
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)

string connString = string.Format("server={0};database=master;uid={1};pwd={2}", comboBox3.Text.Trim(), "sa", "123456");


string connString = string.Format("server={0};database=master;uid={1};pwd={2}", "192.168.158.134", "sa", "123456");

2段代码不知道该怎么修改能直接用计算机名连上虚拟机中的sql,combobox中的计算机名使用sqldmo获取的
------解决方案--------------------
原因很可能是无法解析目标计算机名(错误的dns缓存,虚拟机没有自动登记Netbios名, 等等原因)。
开命令行进行确认(第一行应该可以,第二行连接超时):

ping 192.168.158.134
ping 计算机名



------解决方案--------------------
dns 解析的问题,一般在hosts文件中加映射
使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc).
添加一条IP地址与服务器名称的对应记录,如:
192.168.1.2 pcname
------解决方案--------------------
虚拟机我没玩过,局域网连接,我碰到过你说的情况

就是用计算机名称不能访问,但是用IP地址可以访问…

是不是没有WINS解析,计算机名就不能解析成IP地址