找不到网络路径

时间:2014-01-30 05:41:19

标签: .net database networking

我正在运行我的代码并收到此错误。但它是什么意思?

  

找不到网络路径描述:未处理的异常   在执行当前Web请求期间发生。请   查看堆栈跟踪以获取有关错误和位置的更多信息   它起源于代码。

     

异常详细信息:System.ComponentModel.Win32Exception:找不到网络路径

来源错误:

  

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

堆栈追踪:

  
    

[Win32Exception(0x80004005):找不到网络路径]

         

[SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。该     服务器未找到或无法访问。验证该实例     名称是正确的,并且SQL Server配置为允许远程     连接。 (提供者:命名管道提供者,错误:40 - 不能     打开与SQL Server的连接)]

  

11 个答案:

答案 0 :(得分:36)

这可能与您的数据库 连接字符串 或类似内容有关。

我刚刚解决了这个例外。发生的事情是我在另一台机器(服务器)中调试时使用的连接字符串

我在Web.config中注释了错误的连接字符串,并取消注释了正确的连接字符串。现在我重新开始营业......这是我忘记在某个特定解决方案中工作后忘记的事情。 ;)

答案 1 :(得分:4)

如果尝试从localhost访问您的远程/ prod数据库并且您忘记了这个特定的托管公司需要VPN登录才能访问数据库(我觉得很傻),您也会收到这个确切的错误。

答案 2 :(得分:3)

可能有以下原因:

  1. 错误的SQL连接字符串。
  2. 服务中的SQL Server未运行。
  3. 分布式事务处理协调器服务未运行。
  4. 首先尝试从SQL Server Management Studio连接到远程数据库。如果它连接它意味着问题出在代码端或Visual Studio端,如果你使用的那个。

    检查连接字符串,如果问题仍然存在,请检查以下两项服务:

    1. 分布式事务处理协调器服务
    2. SQL Server服务。
    3. 进入services.msc并搜索并启动这两项服务。

      上述答案适用于例外情况: [Win32Exception(0x80004005):找不到网络路径]

答案 3 :(得分:2)

与我同样的问题。我通过在连接字符串之前添加@来解决这个问题(C#有一个名为' String Literals'的东西),如下所示:

SqlConnection sconnection = new SqlConnection(@"Data Source=(Localdb)\v11.0; Initial Catalog=Mydatabase;Integrated Security=True");

sconnection.Open();

答案 4 :(得分:2)

正如其他人所指出的,这可能与connectionstring配置有关 确保,

  1. 用户ID和密码正确
  2. 数据源指向正确的数据源,例如,如果您使用的是SQL Express,它将是。\ SQLEXPRESS
  3. 数据库指向正确的数据库名称 希望有所帮助。

答案 5 :(得分:1)

可能还会检查sessionState

中的Web.config标记

信不信由你,我工作过的一些项目也会在这里设置一个连接字符串。

将此配置设置为:

<sessionState mode="InProc" />

在检查所有其他连接字符串是否正确后修复了我的问题。

答案 6 :(得分:0)

我最近遇到了同样的问题。由于网络问题,您的应用程序更有可能无法连接到数据库服务器。

就我而言,我连接错误的WiFi。

答案 7 :(得分:0)

正确检查您的连接字符串。 检查连接是否打开。

String CS=ConfigurationManager.COnnectionStrings["DBCS"].connectionString;
  if(!IsPostBack)
    {enter code here
   SqlConnection con = new SqlConnection(CS);
        con.Open();
    SqlCommand cmd = new SqlCommand("select * from tblCountry", con);
     SqlDataAdapter da = new SqlDataAdapter(cmd);
     DataTable dt = new DataTable();
da.Fill(dt);
//Bind data
}

答案 8 :(得分:0)

在开始时,我遇到了相同的错误,但场景不同。 我有两个连接字符串,一个用于ado.net,另一个用于EntityFramework,两个连接都正确。具体来说,问题出在EF的 edmx 文件中,在这里我将ProviderManifestToken="2012"更改为ProviderManifestToken="2008",因此,此后应用程序运行正常。

答案 9 :(得分:0)

就我而言,我是从现有数据库生成DbContext的。我在appSettings.json文件中设置了连接字符串;但是,当我通过搭建DbContext类生成类文件时,它的连接字符串不正确。

因此,请确保您的连接字符串在appSettings.json文件和DbContext文件中均正确。这样可以解决您的问题。

答案 10 :(得分:0)

如果您正在使用任何数据库,请同时检查连接字符串