如何解决连接到 SQL Server 的应用程序问题

如何解决连接到 SQL Server 的应用程序问题

我正在尝试让 ASP.net StoreFront 连接到 Windows Server 2008 上的 SQL Server Express 2005。我遵循此 Microsoft 支持文章未成功。以下是错误。

[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)]
AspDotNetStorefront.Global.Application_BeginRequest(Object sender, EventArgs e) +286
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171

如果我在 Linux 系统上遇到此错误,我将使用 SQL 特定的连接客户端来测试连接(例如mysql)。可能用来telnet测试端口,iptables如果是问题所在,请跟进。我不确定如何在 Windows 上做同样的事情。我已经使用相同的凭据使用 SQL Server Management Studio Express 进行了身份验证?我加了一个问号,因为我对数据源的一部分(应该是主机/服务器标识符)有点不确定。我不认为 telnet 会测试端口,因为 Windows 防火墙在 L7 上运行(它会检查应用程序)。我如何才能找出问题是我连接到服务器的能力?还是定义如何连接到服务器的配置?(注意:安全性与我无关,此 VM 仅用于开发目的,位于我的笔记本电脑防火墙后面,没有 NAT)

答案1

问题出在我的配置上。我最终使用 对其进行了故障排除sqlcmd.exe,它允许我尝试使用我指定的参数手动连接,但它们不起作用。看一下其文档我意识到这localhost可能还不够。我需要包含instance,如文档中所述-S [protocol:]server[\instance_name][,port]。将其添加到sqlcmd字符串和 xml 配置中解决了我的连接问题。

相关内容