Sql server 错误:26-定位指定的服务器/实例时出错

Sql server 错误:26-定位指定的服务器/实例时出错,sql-server,visual-studio,unit-testing,Sql Server,Visual Studio,Unit Testing,我在visualstdio2010中做单元测试。但是,它一直抛出异常错误: {建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到或无法访问该服务器。请验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。提供程序:SQL网络接口,错误:26-定位指定的服务器/实例时出错}** 我正在寻找解决这个问题的方法,我知道这是VisualStudio和SQLServer之间的连接问题。也许,也许不是 我试图更改App.config和Web.config 这是解决这个

我在visualstdio2010中做单元测试。但是,它一直抛出异常错误:

{建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到或无法访问该服务器。请验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。提供程序:SQL网络接口,错误:26-定位指定的服务器/实例时出错}**

我正在寻找解决这个问题的方法,我知道这是VisualStudio和SQLServer之间的连接问题。也许,也许不是

我试图更改App.config和Web.config


这是解决这个问题的正确方法吗?如果是的话,您能给出一个xml示例来解决这个问题吗?如果不是,我应该怎么做才能解决这个问题?

如果没有代码,就不可能确切地知道发生了什么,请发布一些,但是从您的评论来看,我猜这是因为您没有正确设置SQL连接字符串

大多数情况下,您都会在.config文件中指定一个连接字符串,尽管您可能会在代码?中对其进行硬编码?。如果您使用的是实体框架之类的东西,app.config可能如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="MyEntities" connectionString="metadata=res://*/MyModel.csdl|res://*/MyModel.ssdl|res://*/MyModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=localhost;Initial Catalog=MyDatabase;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>
<?xml version="1.0" encoding="utf-8" ?>
  <configuration>
    <connectionStrings>
      <add name="MyConnectionString"
          connectionString="Data Source=myserver;Initial Catalog=MyDatabase;Integrated Security=True"
          providerName="System.Data.SqlClient" />
    </connectionStrings>
  </configuration>
根据您的代码所做的事情,它可能会再次看起来不同,发布一些代码。如果您的代码在应用程序中工作,但在单元测试中失败,那么您可以将连接字符串从应用程序的app.config文件复制到单元测试的app.config文件中。如果单元测试没有app.config文件,只需创建一个

顺便说一句,上面的配置只是您如何指定连接字符串的一个示例。。。您的代码可能需要一些不同的东西

希望这能帮你找到正确的方向

更新:仍然希望看到一些代码,但如果它正在从数据库中查找连接字符串,它们通常如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="MyEntities" connectionString="metadata=res://*/MyModel.csdl|res://*/MyModel.ssdl|res://*/MyModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=localhost;Initial Catalog=MyDatabase;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>
<?xml version="1.0" encoding="utf-8" ?>
  <configuration>
    <connectionStrings>
      <add name="MyConnectionString"
          connectionString="Data Source=myserver;Initial Catalog=MyDatabase;Integrated Security=True"
          providerName="System.Data.SqlClient" />
    </connectionStrings>
  </configuration>

大家好,这是一个解决方案,适用于那些希望将数据库与WampServer或Sql Server Management Studio连接的人,我尝试了这两种方法,并且都可以使用,请仔细阅读,并为我糟糕的英语Tunisian Dev道歉:

要使用EF实体框架代码优先方法从类创建db:   **1. 首先创建上下文公共类示例:

 Public class MyClassContext: DbContext
 {

Public MyClassContext (): base ("name = ConnStringLinkedForDb") {
  Database.SetInitializer (new DropCreateDatabaseAlways <MyClassContext>());
}    
 Public DbSet <ClassX> ClassXs {get;set;} 
}

Public MyClassContext (): base ("name = ConnStringLinkedForDb") {
  Database.SetInitializer (new DropCreateDatabaseAlways <MyClassContext>());
}    
 Public DbSet <ClassX> ClassXs {get;set;} 
}

Public MyClassContext (): base ("name = ConnStringLinkedForDb") {
  Database.SetInitializer (new DropCreateDatabaseAlways <MyClassContext>());
}    
 Public DbSet <ClassX> ClassXs {get;set;} 
}
二,。在第二点中,标记:, 在以下两种情况下,数据层的app.config文件和web层的web.config文件中都会出现:

2.1。如果您想与Wamp服务器idUserName=root建立连接,pwd='empty',我们的bd将位于其服务器上:

<ConnectionStrings>
    <Add name = "ConnStringLinkedForDb" connectionString = "server = localhost; user id = root; persistsecurityinfo = True; database = db_name_desired; allowuservariables = True" providerName = "MySql.Data.MySqlClient"/> 
 </ ConnectionStrings>
 <ConnectionStrings>
  <Add name = "ConnStringLinkedForDb" connectionString = "Data Source = YourServerNameInSqlServerManegementStudioProprity(onObjectExplorer); Initial Catalog = db_name_desired ;Integrated Security = true" providerName = "System.Data.SqlClient" /> 
   </ ConnectionStrings> 
2.2.sql Server Management Studio ServerName Source=YourServerNameInSqlServerManegementStudioProprityonObjectExplorer,pwd='empty',我们的bd将位于其服务器上:

<ConnectionStrings>
    <Add name = "ConnStringLinkedForDb" connectionString = "server = localhost; user id = root; persistsecurityinfo = True; database = db_name_desired; allowuservariables = True" providerName = "MySql.Data.MySqlClient"/> 
 </ ConnectionStrings>
 <ConnectionStrings>
  <Add name = "ConnStringLinkedForDb" connectionString = "Data Source = YourServerNameInSqlServerManegementStudioProprity(onObjectExplorer); Initial Catalog = db_name_desired ;Integrated Security = true" providerName = "System.Data.SqlClient" /> 
   </ ConnectionStrings> 

**我也有类似的问题。如果你有:

已经创建了数据库 更改了开发计算机/重新安装了SQL server 附加您以前的数据库 转到根项目文件夹: bin->Debug或 箱子->释放 找到你的.config文件 使用记事本打开并在此处编辑连接字符串 接下来,如果没有,请在visual studio中打开项目并在解决方案资源管理器中找到App.config,在那里编辑连接字符串以匹配当前连接。
您可以发布尝试使用此应用程序设置的代码吗?另外,您可以告诉我您是否已成功连接到此数据库,可能是在您的应用程序中,而不是在单元测试中?。换句话说,您知道连接字符串是localhost\sql2008dev并且用户名/密码正确吗?首先,我如何确保我的单元测试是否正在访问sql数据库。其次,我只是检查属性SEVER:NBB010和Connection:NBB010\Administrator and database:cse136。从上面的错误中,很明显您的单元测试代码没有访问数据库。我建议您在调试器中单步执行一个单元测试,当您遇到错误26时,发布失败的代码。