我在笔记本电脑上有一个显示客户端的网站,笔记本电脑有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的连接) “
答案 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等。