1

首先,这不是老东西的重复:

提供者:SQL 网络接口,错误:26 - 错误定位指定的服务器/实例。

这是场景。我正在使用带有SQLMembershipProvider. 这曾经可以正常工作,但是由于在我的开发机器上进行了全新安装并升级到 SQL Server 2014 Express,我现在遇到了一个奇怪的问题。

当我运行网站时,我得到了登录表单。如果我输入了错误的用户名和密码,我会收到正常消息“无效的用户名/密码”。如果我输入正确的用户名/密码,我会收到上述错误 26。我可以在 SQL Server Management Studio 中使用相同的连接字符串成功连接到数据库,而不是在我的 ASP.NET Web 应用程序中。

连接字符串:

<connectionStrings> 
   <add name="WEBConnectionString"
        connectionString="Server=SERSQL01\SQLEXPRESS;Initial Catalog=WEBAPP;User ID=MyLogin;Password=MyPassword"         
        providerName="System.Data.SqlClient"
   />
</connectionStrings>

我检查过的事情:

  • 实例名称正确。
  • 防火墙被禁用。
  • 远程连接已启用。
  • 启用 TCP/IP,端口 1433。
  • SQL 浏览器已启用。
  • 启用混合模式身份验证。
  • Telnet 连接成功。
  • SSSM 连接成功。

环境:

  • 开发机器:Windows 8.1 和 Visual Studio 2013
  • 服务器:Windows Server 2012 R2 上的 SQL Server 2014 Express
4

1 回答 1

0

终于发现问题了。

我正在使用自定义 sql 成员资格提供程序。但我没有扩展角色提供者:

<roleManager enabled="true" defaultProvider="SqlProvider" >
        <providers>
            <clear/>
            <add name="SqlProvider" type="System.Web.Security.SqlRoleProvider"
              connectionStringName="WEBConnectionString" applicationName="/" />
        </providers>
    </roleManager>
于 2014-08-18T03:29:58.937 回答