我的PC上运行的虚拟机运行的是安装了SQL Server 2012的Windows Server 2008。当我在VM上运行SQL Server Management Studio时,我可以这样连接:
Image showing Management Studio credentials
但是,当我在虚拟机(VMWare Player)之外运行以下C#代码时,我收到一条错误消息,指出无法找到服务器。
SqlConnection myConnection = new SqlConnection(@"Database=MyDB;Server=WIN-A7D3AQAEQ8C\SQLEXPRESS;Integrated Security=True;connect timeout = 7;");
错误:
System.Data.dll中出现未处理的“System.Data.SqlClient.SqlException”类型异常
我可以ping虚拟机,反之亦然。虚拟机的防火墙完全关闭。我做错了什么?
答案 0 :(得分:2)
CodingYoshi的链接将提供一堆可能的罪魁祸首我强烈怀疑(基于您可以在VM上连接但不能从VM外部连接的事实)您的SQL实例仅将命名管道作为连接方法启用(这是默认)。如果您使用SQL Server配置管理器并启用TCPIP连接,请再次尝试使用SSMS从另一台PC连接到您的实例,并希望您能够。
要使用Configuration Manager设置TCPIP,请参阅此处:http://support.webecs.com/kb/a868/how-do-i-configure-sql-server-express-to-allow-remote-tcp-ip-connections-on-port-1433.aspx