当前位置:编程学习 > C#/ASP.NET >>

问大家一个非常让人费解的问题。。。

用C#写的WEB程序,在IIS下调试,当我插上网线的时候,程序运行一切OK。
拔掉网线就报错,换了好几台机器都是这样。一旦链接互联网,就都OK,拔掉网线就运行不了。。。费解啊
错误内容如下:

“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.SqlClient.SqlException: 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪: 


[SqlException (0x80131904): 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)]
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +435
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +82
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
   System.Data.SqlClient.SqlConnection.Open() +111
   eshop.DAL.SQLHelper.PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, String cmdText, SqlParameter[] cmdParms) in D:\My Projects\asp.net Projects\eshop\DAL\SqlHelper.cs:342
   eshop.DAL.SQLHelper.ExecuteReader(String connString, CommandType cmdType, String cmdText, SqlParameter[] cmdParms) in D:\My Projects\asp.net Projects\eshop\DAL\SqlHelper.cs:149
   eshop.DAL.SQLHelper.ExecuteReader(String connectionString, CommandType commandType, String commandText) in D:\My Projects\asp.net Projects\eshop\DAL\SqlHelper.cs:118
   eshop.BLL.Product.GetCategoryList() in D:\My Projects\asp.net Projects\eshop\BLL\Product.cs:33
   eshop.CategoryList.Page_Load(Object sender, EventArgs e) in D:\My Projects\asp.net Projects\eshop\UserControl\CategoryList.ascx.cs:27
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +47
   System.Web.UI.Control.LoadRecursive() +131
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436

 


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.1433; ASP.NET 版本:2.0.50727.1433 --------------------编程问答-------------------- 你的ConnectionString是怎么写的?用了机器名?改为127.0.0.1这样就不用绕个圈了。
--------------------编程问答-------------------- http://www.ideaext.com/ --------------------编程问答-------------------- 那就只能说明你的程序里面用了链接之类的需要网络的语句呀,再找找…… --------------------编程问答-------------------- 是你连接了外网的数据库了吧 --------------------编程问答-------------------- 顶一下,去检查你写的连接字符串 --------------------编程问答-------------------- 网站不联网当然不就有错了? --------------------编程问答-------------------- 请提供数据库的连接相关的语句!才可以对症下药 --------------------编程问答--------------------
引用 1 楼 fangxinggood 的回复:
你的ConnectionString是怎么写的?用了机器名?改为127.0.0.1这样就不用绕个圈了。 

如果数据库服务器是本机的话直接用server=(local) --------------------编程问答-------------------- 应该是链接的数据库不对了。
http://bingning.net/free/source/index.html --------------------编程问答-------------------- --------------------编程问答-------------------- 肯定是连接数据的问题.... --------------------编程问答-------------------- 我想可能是链接的问题。 --------------------编程问答-------------------- 连接字符串的问题,直接写localhost比较保险 --------------------编程问答-------------------- 连接数据库出了问题,如果是远程连接的话,最好写远程的IP,这样也许就不会有问题了 --------------------编程问答-------------------- 你的数据库和IIS在一个服务器上吗?不在的话不联网当然出错啦 --------------------编程问答-------------------- 你的ConnectionString是怎么写的?用了机器名?改为127.0.0.1这样就不用绕个圈了。

 就是这个理。。。。 --------------------编程问答-------------------- 你的 sql 服务是如何连接的啊 TCP ? --------------------编程问答-------------------- 这种属于处理Exception不当引起的; --------------------编程问答-------------------- 如果是本机的数据库的话,可以直接用.或者local或者127.0.0.1来换掉你的连接字符串中的IP。 --------------------编程问答-------------------- 可能是连接的问题 --------------------编程问答-------------------- 用一跟做好的网线的一端,把1.3  2.6两根线分别焊接上,再插到网卡上试试。 --------------------编程问答-------------------- 用一跟做好的网线的一端,把1.3  2.6两根线分别焊接上,再插到网卡上试试。 --------------------编程问答-------------------- 127.0.0.1
还有非本地数据库,连接等问题 --------------------编程问答-------------------- 数据库和iis服务器不在一个服务器上
断网肯定连不上了 --------------------编程问答-------------------- <?xml version="1.0" encoding="utf-8" ?>
<configuration> 
  <system.web>
<authentication mode="Forms">
            <forms name="eshop" loginUrl="signIn.aspx" protection="All" path="/" />
    </authentication>
     <customErrors mode="RemoteOnly" defaultRedirect="Error.aspx">   
</customErrors>   
  </system.web>
  <appSettings>
    <add key="ConnectionString" value="server=127.0.0.1;database=eshop;uid=sa;pwd=" />
    <add key="mailUser" value="" />
    <add key="mailPwd" value="" />
    <add key="mailSmtpServer" value="" />
    <add key="mailSender" value="" />
<add key="mailTitle" value="" />
  </appSettings>
  
  <location path="OrderList.aspx">
 <system.web>
<authorization>
<deny users="?"/>
</authorization>
    </system.web>
  </location>
  <location path="OrderDetails.aspx">
 <system.web>
<authorization>
<deny users="?"/>
</authorization>
    </system.web>
  </location>
  <location path="CheckOut.aspx">
 <system.web>
<authorization>
<deny users="?"/>
</authorization>
    </system.web>
  </location>
  <location path="ChangePwd.aspx">
 <system.web>
<authorization>
<deny users="?"/>
</authorization>
    </system.web>
  </location>
    <location path="MyAcount.aspx">
 <system.web>
<authorization>
<deny users="?"/>
</authorization>
    </system.web>
  </location>
    <location path="EditAcount.aspx">
 <system.web>
<authorization>
<deny users="?"/>
</authorization>
    </system.web>
  </location>
   
</configuration>

这个就是全部链接数据库的文件啦~~~~~~~~~~~~~~ --------------------编程问答--------------------  <add key="ConnectionString" value="server=.;database=eshop;uid=sa;pwd=" />

把127.0.0.1换成.或者localhost试试。楼上几位都说的很清楚了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,