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