SqlDependency - 登录失败错误

时间:2015-01-26 11:58:26

标签: sqldependency

我正在尝试使用SqlDependency来创建示例SignalR应用程序。我正在使用具有sysadmin角色的SQL管理员帐户。我正在编写以下代码:

using (SqlCommand command = new SqlCommand(query, connection))
{
    command.Notification = null;
    DataTable dt = new DataTable();
    SqlDependency dependency = new SqlDependency(command);
    SqlDependency.Start(connection.ConnectionString);
    //dependency.OnChange += dependency_OnChange;

    if (connection.State == ConnectionState.Closed)
       connection.Open();

    var reader = command.ExecuteReader();
}

问题是当执行以下行时,

SqlDependency.Start(connection.ConnectionString);

我收到错误:

  

用户登录失败'

相同的代码工作正常,当我评论它并正常加载数据(没有依赖)。我也可以使用这些凭据登录管理工作室帐户。

2 个答案:

答案 0 :(得分:0)

问题出在你的ConnectionString中。它位于您的web.config文件中,可能包含以下内容:

<connectionStrings>
    <add name="ConnectionStringName" connectionString="Data   Source=YourSqlServerName;Initial Catalog=YourDataBaseName;User ID=sa;Password=YourPassword" providerName="System.Data.SqlClient"/>
</connectionStrings>

收到此错误后,我认为您使用SQL Server身份验证,因为对于Windows身份验证,您不必指定用户ID并通过。所以我建议你打开Managment Studio并尝试连接ConnectionString中的设置:服务器名称,登录 - 在你的情况下&#34; sa&#34;和密码。可能是您的用户/密码存在问题。

答案 1 :(得分:0)

原因是初始化连接后Connection对象丢失了密码。添加Yourconnectionsting.PersistSecurityInfo = True