当我尝试连接SQL Server时,我得到以下错误:

在建立与SQL Server的连接时,发生了与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确,SQL Server是否配置为允许远程连接。(提供商:Named Pipes提供商,错误:40 -无法打开到SQL Server的连接)

当我试图在Visual Studio 2010中将数据库配置为gridview时抛出此错误。我不知道如何调试这个错误。

如何调试此错误?除了错误消息中提到的步骤之外,我还应该采取哪些步骤来确定这里到底发生了什么?


当前回答

似乎您的localdb实例没有运行。 要在计算机启动时启动它,添加到您的开始菜单\启动文件夹BAT文件与以下行

sqllocaldb start name_of_instance

其中name_of_instance是要启动的localdb实例的名称。 您可以使用sqllocaldb i在命令行中列出可用的实例。

例如,如果您正在使用SQL Server Management Studio并连接到服务器名称(localdb)\v11.0,那么您的BAT文件将如下所示

sqllocaldb start v11.0

其他回答

Web中的Xml标签排列。配置很重要

第一个

<configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>

<connectionStrings>
  <add name="SqlConnectionString" connectionString="Data Source=.; Initial Catalog=TestDB; Trusted_Connection=True;" providerName="System.Data.SqlClient" />
</connectionStrings>

我发现以下技巧很有用:

Make sure your database engine is configured to accept remote connections: Start > All Programs > SQL Server 2005 > Configuration Tools > SQL Server Surface Area Configuration Click on Surface Area Configuration for Services and Connections Select the instance that is having a problem > Database Engine > Remote Connections Enable local and remote connections Restart instance You may need to create an exception on the firewall for the SQL Server instance and port you are using: Start > Run > Firewall.cpl Click on exceptions tab Add sqlservr.exe (typically located in C:\Program Files (x86)\Microsoft SQL Server\MSSQL.x\MSSQL\Bin, check your installs for the actual folder path) and port (default is 1433) Check your connection string as well From FIX : ERROR : Could not open a connection to SQL Server: Check if your SQL server services is up and running properly: Go to All Programs > Microsoft SQL Server 2008 > Configuration Tools > SQL Server Configuration Manager > SQL Server Services Check to make sure SQL Server service status is Running. In addition, ensure that your remote server is in the same network. Run sqlcmd -L to ascertain if your server is included in your network list. Enable TCP/IP in SQL Server Configuration When two or more SQL Servers are connected across network they do all communication using TCP/IP. The default port of SQL Server installation is 1433. This port can be changed through SQL Server Configuration Manager. TCP/IP should be enabled for SQL Server to be connected. Go to All Programs >> Microsoft SQL Server 2008 >> Configuration Tools >> SQL Server Configuration Manager >> Select TCP/IP Right Click on TCP/IP >> Click on Enable You must restart SQL Server Services for all the changes to take effect. Right click and go to menu properties to select location where default port of SQL Server can be changed.

除了尝试Teo Chuen Wei Bryan建议的所有方法外,还要确保在连接字符串中引用了正确的服务器/实例名称。

如果您在数据库服务器或web上使用主机名/实例的简写形式。配置文件,确保您使用完全限定域名(FQDN)/实例

此外,要从不存在SQL server客户端的服务器测试连通性,

——>创建一个文本文件,并将其扩展名为。udl

右键单击文件,你可以看到连接选项卡。

——>输入服务器名和登录信息,测试连接到数据库服务器。

希望这能有所帮助。

我的问题开始于我试图将服务器从IIS Express更改为本地IIS(同时使用LocalDB)。

我正在使用LocalDB(用于开发目的),当我从本地IIS恢复到IIS Express时,Visual Studio已经将我的数据源从数据源=(LocalDB)\MSSQLLocalDB切换到数据源=.\SQLEXPRESS

错误的连接字符串

< add name = " DefaultConnection connectionString =“源代码=数据。\ SQLEXPRESS; AttachDbFilename = | DataDirectory | \ SurveyTestsDB。中密度纤维板;最初用户目录= SurveyTestsDB集成安全= True;例如= True” providerName =“系统数据。SqlClient " - >

正确的连接串

< add name = " DefaultConnection connectionString =“源代码=数据(LocalDb) \ MSSQLLocalDB; AttachDbFilename = | DataDirectory | \ SurveyTestsDB。中密度纤维板最初目录》中= SurveyTestsDB;集成安全= True”providerName =“系统数据。SqlClient " - >

希望这能帮助到一些人。

验证用于为SQL Server实例创建会话的帐户。