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

时间:2014-10-14 20:32:49

标签: .net sql-server web configuration

我在笔记本电脑上有一个显示客户端的网站,笔记本电脑有IIS 6和SQL Server 2008,与我的开发电脑设置相同。 虽然在开发者电脑上一切正常但我无法让网站对SQL运行查询。

它将在下拉列表中显示数据,但是当我尝试运行查询时,我得到一个错误,看起来好像连接字符串是错误的,我认为不是这样。我已经尝试了一周来对此进行排序,我尝试了所有SQL配置更改,命名管道,使用NT AUTHORITY \网络服务用户的应用程序池,以及旁边的一些东西。有没有其他人听说过这个?还是我能检查的其他任何东西?

我的网络配置连接字符串

<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的连接)   “

2 个答案:

答案 0 :(得分:0)

您需要在数据源= lapgha11863 \ sqlexpress中更改lapgha11863以获取笔记本电脑的计算机名称,并将sqlexpress更改为笔记本电脑上SQL实例的名称。

另请参阅http://msdn.microsoft.com/en-us/library/jj653752(v=vs.110).aspx#sse了解连接字符串的示例。

答案 1 :(得分:0)

如果您使用集成安全性,则网站需要在具有数据库权限的用户的上下文中运行。请按照以下步骤操作:

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

将此用户设置为应用程序池的标识。

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

转到用户属性&gt;用户映射并选择数据库。并保存。

返回用户映射,突出显示数据库并使用户db_owner

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