OracleDependency
とを使用していくつかのテストを行っていますOnChangeEventHandler
この署名でイベント ハンドラーを作成しました。
void dep_OnChange(object sender, OracleNotificationEventArgs args)
私が監視しているクエリは次のとおりです。
"select * from TESTTABLE";
はTESTTABLE
2 列の非常に単純なテーブルです。
イベントは、期待どおりに TESTTABLE にレコードを挿入したときに発生し、レコードを削除または更新したときにも発生します。
私が経験している問題は挿入に関連しています: 限られた数のレコードを挿入すると、たとえば 100 未満のレコードを挿入して変更をコミットすると、すべてが期待どおりに機能し、ROWID を介して、イベントで挿入されたレコードの IDS を取得できます。ハンドラー、私が欲しいものです。ただし、100 を超えるレコードを挿入すると、これが機能しなくなります。イベントは発生します (同じ commit ステートメントに対して複数回発生します) が、新しく挿入されたレコードの ROWID を取得できません。
多数のレコードに影響を与える場合でも通知が送信されるようにするために、データベース側で行うべきことはありますか?
よろしく