2016-12-15 22 views
4

SqlTableDependencyに問題があります。 My Changedメソッドは、テーブルを挿入/更新/削除するときに呼び出されません。 OnStatusChangedイベントは正常に機能します。SqlTableDependency onchangeイベントが発生しない

string conn = @"data source=secret server; integrated security=True; initial catalog=secret db;User id=secret user"; 

    var mapper = new ModelToTableMapper<SqlDataModel>(); 

    mapper.AddMapping(c => c.datavalue, "datavalue");  

    using (var dep = new SqlTableDependency<SqlDataModel>(conn, "data", mapper)) 
    { 
     dep.OnChanged += Changed; 
     dep.OnStatusChanged += OnStatusChanged; 
     dep.OnError += OnError; 
     dep.TraceLevel = TraceLevel.Verbose; 
     dep.TraceListener = new TextWriterTraceListener(Console.Out);    
     dep.Start();   

     Console.WriteLine("Press a key to exit");   
     Console.ReadKey();    
     dep.Stop(); 
    } 
} 
static void OnStatusChanged(object sender, StatusChangedEventArgs e) 
{ 
    Console.WriteLine(e.ToString()); 
} 
static void OnError(object sender, ErrorEventArgs e) 
{ 
    Console.WriteLine(e.ToString()); 
} 
static void Changed(object sender, RecordChangedEventArgs<SqlDataModel> e) 
{  
    if (e.ChangeType != ChangeType.None) 
    { 
     var changedEntity = e.Entity; 
     Console.WriteLine("DML operation: " + e.ChangeType);   
     Console.WriteLine("value: " + changedEntity.datavalue); 
    } 
} 

は、コードの上に私は私が持っていると確信しているhttps://tabledependency.codeplex.com/wikipage?title=SqlTableDependency に基づいており、私は、db_ownerロールを使用しています。私はブローカーを有効にした、私はそのtrigers、サービスなどがmssql dbで作成された参照してください。

enter image description here

+2

を行うには、まだ持っていたにもかかわらずはSqlTableDependencyがhttps://github.com/christiandelbianco/monitor-に今あることに注意してくださいtable-change-with-sqltabledependency –

答えて

4

私はfinnally私sys.transmission_queueテーブルにエラーを検出しました: ターゲットキューにメッセージをエンキュー中に例外が発生しました。エラー:

15517, State: 1. Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impersonated, or you do not have permission.

データベースはすでに私は自分自身に完全なアクセス許可を与えた、私は

ALTER AUTHORIZATION ON DATABASE::secret db TO sa 
関連する問題