我有一个虚拟机运行在我的PC运行Windows Server 2008安装SQLServer 2012.当我运行SQLServer Management Studio上的VM我可以这样连接:
显示Management Studio凭据的图像
但是,当我在虚拟机(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虚拟机,反之亦然。虚拟机的防火墙完全关闭。我做错了什么?
CodingYoshi的链接将提供一堆可能的罪魁祸首,因为我强烈怀疑(基于您可以在VM上连接,但不能从VM外部连接)您的SQL实例仅启用了命名管道作为连接方法(这是默认值)。如果您使用SQL服务器配置管理器并启用TCPIP连接,请再次尝试使用SSMS从另一个PC连接到您的实例,希望您能够这样做。
要使用配置管理器设置TCPIP,请参见此处:http://support.webecs.com/kb/a868/how-do-i-configure-sql-server-express-to-allow-remote-tcp-ip-connections-on-port-1433.aspx