错误:26 - 找到指定的服务器/实例时出错

时间:2011-08-14 19:11:15

标签: sql-server visual-studio unit-testing

我在Visual Stdio 2010中进行单元测试。但是,它仍然抛出异常错误:

  

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

我正在寻找解决这个问题,我知道这是visual studio和sql server之间的连接问题。 (也许,也许不是。)

我试图更改“App.config”和“Web.config”。

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

3 个答案:

答案 0 :(得分:0)

没有代码就不可能确切地说出发生了什么(请发一些),但是从你的评论来看,我猜是因为你没有正确设置SQL连接字符串。

大多数情况下,你会在.config文件中指定一个连接字符串(尽管你的代码中可能有硬编码?)。如果您使用的是Entity Framework,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>

根据您的代码执行的操作,它可能看起来不同(再次发布一些代码)。如果代码在应用程序中运行,但在单元测试中失败,则可以将应用程序的app.config文件中的连接字符串复制到单元测试的app.config文件中。如果您的单元测试没有app.config文件,只需创建一个。

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

希望这有助于指明你正确的方向......

更新:仍然希望看到一些代码,但如果它正在寻找数据库中的连接字符串,它们通常看起来像这样:

<?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>

答案 1 :(得分:0)

Hi Every One这是一个解决方案,适合那些想要使用WampServer或Sql Server Management Studio连接数据库的人,我同时尝试这两种方式,它既可以工作,也可以仔细阅读,对不起我的坏英语(突尼斯开发):

使用EF(实体框架)Code First方法从类创建数据库: ** 1。首先创建Context Common类例:

 Public class MyClassContext: DbContext
 {

Public MyClassContext (): base ("name = ConnStringLinkedForDb") {

  Database.SetInitializer (new DropCreateDatabaseAlways <MyClassContext>());
}    
 Public DbSet <ClassX> ClassXs {get;set;} 
}

2.在第二点,标签:, 将在2个文件“app.config”中的数据层和“web.config”中的Web层中,在以下两种情况下:

2.1。如果你想与Wamp Server建立连接(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>

2.2。使用sql Server Management Studio(ServerName(Source)= YourServerNameInSqlServerManegementStudioProprity(onObjectExplorer),pwd ='empty')并且我们的bd将在其服务器上:

 <ConnectionStrings>
  <Add name = "ConnStringLinkedForDb" connectionString = "Data Source = YourServerNameInSqlServerManegementStudioProprity(onObjectExplorer); Initial Catalog = db_name_desired ;Integrated Security = true" providerName = "System.Data.SqlClient" /> 
   </ ConnectionStrings> 

**

答案 2 :(得分:0)

我有一个类似的问题。如果您有:

  • 已创建数据库
  • 已更改的开发计算机/已重新安装的SQL Server
  • 附加上一个数据库
  • 转到您的根项目文件夹:
    • bin->Debug
    • bin->Release
  • 找到您的.config文件
  • 使用记事本打开并在其中编辑您的连接字符串
  • 下一步(如果没有),请在Visual Studio中打开项目,然后在解决方案资源管理器中找到App.config,在此处编辑连接字符串以匹配您当前的连接。