博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sql server在另一台服务器,在Visual Studio 中没问题,IIS中 提示“在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。。。。”...
阅读量:6680 次
发布时间:2019-06-25

本文共 2112 字,大约阅读时间需要 7 分钟。

确切的说是在IIS 7.5中有这问题

就是在visual studio中都用的好好的,但是加载到IIS上的时候竟然报错“

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。           
异常详细信息: System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)
源错误:
行 497:            catch (System.Data.SqlClient.SqlException e)行 498:            {行 499:                throw e;行 500:            }   行 501:
源文件: D:\MyClassLib\DBUtility\DbHelperSQLP.cs    行: 499           
堆栈跟踪:
[SqlException (0x80131904): 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)]   DBUtility.DbHelperSQLP.ExecuteReader(String strSQL) in D:\MyClassLib\DBUtility\DbHelperSQLP.cs:499   SfxtHelper.GetCurrentYis(String start, String end) in d:\SunOA\Web\App_Code\SfxtHelper.cs:406   shouji.Page_Load(Object sender, EventArgs e) in d:\SunOA\Web\fyt\shouji.aspx.cs:41   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35   System.Web.UI.Control.OnLoad(EventArgs e) +91   System.Web.UI.Control.LoadRecursive() +74   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.272        
   

网上动不动,网络访问啊开启远程连接,千篇一律的复制,也不看看具体情况,浪费资源还害的别人增加了搜索难度。

本来在visual studio就可以正常使用,说明这网络肯定不存在问题,也不存在什么远程连接的问题

很明显 这就是iis的设置问题。

作为服务器,安全是很重要的,微软在iis7.5上做了些改动。

在iis7.5以前,iis的默认账户是NetworkServices,从iis7.5开始使用当前程序(网站)的应用程序池名称作为默认账户(在系统盘下的“用户”文件下将会看到这些特殊的用户名)

而这些账户的权限是很小的,小到连访问网络的权限都没有,所以访问sql 就会出错了啊,好在微软可以让我们自己指定账户,这样我们就可以新建一个账户,给他指定要权限,然后再给应用程序池使用,问题引刃而解了

号召大家不要再盲目转别人的帖子了,因为各人碰到的问题不一样,转帖的时候尽量总结下,加点自己的东西,既有助于自己,又能让别人更容易的搜索到有用的东西

转载于:https://www.cnblogs.com/tutuzhang/archive/2012/01/10/2318464.html

你可能感兴趣的文章
(0,fn)()的执行原理
查看>>
地址栏中输入url到显示出网页间的过程
查看>>
H5 分层屏幕适配
查看>>
Django笔记---环境搭建
查看>>
[译]理解JS中的闭包
查看>>
推荐:聚合局域网服务的扫描插件 LN2(蓝图)
查看>>
自己总结的手写代码片段
查看>>
系统SDK介绍-01
查看>>
copy strong weak assign的区别
查看>>
SpringMVC运行原理
查看>>
Eureka简介以及工作原来
查看>>
iOS 后台语音播报功能开发过程中的那些坑
查看>>
Uniqlo与Fast Retailing发出警告 46万消费者账号遭入侵
查看>>
拯救不会函数的我!!
查看>>
js预解析+作用域+this指向
查看>>
iOS KVO监听readonly属性
查看>>
线性判别分析随记
查看>>
十一课堂|通过小游戏学习Ethereum DApps编程(2)
查看>>
当iPhone不再流行 Android它将如何面对未来?
查看>>
web前端浅谈,htmlcss脱离标准文档流相关
查看>>