Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET web应用程序无法运行SQL查询_.net_Sql Server_Web_Configuration - Fatal编程技术网

.NET web应用程序无法运行SQL查询

.NET web应用程序无法运行SQL查询,.net,sql-server,web,configuration,.net,Sql Server,Web,Configuration,我在笔记本电脑上有一个网站可以显示客户端,笔记本电脑有IIS 6和SQL Server 2008,设置与我的开发pc相同。 尽管在dev-pc上一切正常,但我无法让站点运行针对SQL的查询 它将在下拉列表中显示数据,但当我尝试运行查询时,会出现一个错误,看起来连接字符串是错误的,我不认为是错误的。我已经尝试了一周来对其进行排序,我尝试了所有SQL配置更改,命名管道,使用NT AUTHORITY\network service user作为应用程序池,以及其他一些事情。还有其他人听说过这样的事情吗

我在笔记本电脑上有一个网站可以显示客户端,笔记本电脑有IIS 6和SQL Server 2008,设置与我的开发pc相同。 尽管在dev-pc上一切正常,但我无法让站点运行针对SQL的查询

它将在下拉列表中显示数据,但当我尝试运行查询时,会出现一个错误,看起来连接字符串是错误的,我不认为是错误的。我已经尝试了一周来对其进行排序,我尝试了所有SQL配置更改,命名管道,使用NT AUTHORITY\network service user作为应用程序池,以及其他一些事情。还有其他人听说过这样的事情吗?还有什么我可以查的吗

我的web配置连接字符串

<add name="eisConnectionString" 
    connectionString="data source=lapgha11863\sqlexpress;Initial Catalog=eis;Integrated Security=True" 
    providerName="System.Data.SqlClient"/>
以及从.NET返回的错误

运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到服务器,或者 无法访问。验证实例名称是否正确,以及 SQL Server配置为允许远程连接。提供者:已命名 管道提供程序,错误:40-无法打开到SQL Server的连接


您需要将datasource=lapgha11863\sqlexpress中的lapgha11863更改为笔记本电脑的计算机名,将sqlexpress更改为笔记本电脑上SQL实例的名称


另请参见连接字符串示例。

如果您使用的是集成安全性,则网站需要在同样具有数据库权限的用户的上下文中运行。遵循以下步骤:

在计算机上创建新用户,将其从用户组和管理员组中删除。将用户添加到IIS_IUSRS组

在应用程序池的标识上设置此用户

在SSMS中转到安全性,添加Windows用户

转到用户属性>用户映射并选择数据库。省省吧

返回到用户映射,突出显示数据库并使用户db_成为所有者


确保web.config中的连接字符串数据源指向SQL Server或/SQLExpress的correcr实例,您可以使用。对于本地计算机或。\SQLExpress等。

错误消息声称它正在尝试使用命名管道,但这不是您发布的连接字符串的一部分。它使用的是你认为是的连接字符串吗?很肯定是的,应用程序中的代码和conn字符串的名称没有改变,但它只在laptopJoel Coehoorn上工作,除非另有规定,否则SqlClient将尝试使用TCP/IP连接,如果连接失败,则返回命名管道。已经完成,连接字符串中的内容是正确的,我没有得到的是下拉列表显示填充,数据来自数据库,只是任何选择/插入等都不正确run@Theresa数据来自数据库,只是没有运行的任何选择/插入等-您发布的错误消息是连接到数据库期间的错误,不是在选择或插入过程中。@Joe,我明白了错误的意思,我只是不明白为什么我会在下拉列表中看到数据,它们使用相同的连接字符串,但在尝试执行其他操作时遇到问题,我以前从未见过这种情况。谢谢应用程序池标识是什么?我已经做了你所说的。谢谢,很抱歉错过了这一步,同一个用户需要设置为应用程序池中的身份,更新的答案。通常应该这样做。。否则,请仔细检查连接字符串、数据库名称和连接字符串名称。好的,用户设置并添加到SQL应用程序池和iis_iusrs,仍然存在相同的问题。如果在我的配置中使用集成安全性,那么我是否也应该以该用户的身份登录到笔记本电脑?不,您不需要以该用户的身份登录。。代码使用eisConnectionString在数据访问代码中创建连接?也可以在添加eisConnectionString连接字符串之前尝试添加标记。