問題タブ [sqldependency]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - テーブルの変更時にコードをトリガーするための SQL 通知の代替手段
そのため、DB 内のテーブルの 1 つが変更されるたびに何らかの機能を実行するために、SQL Notification Services に関連付けられた SQL Dependency 関数を使用するアプリケーションを継承しました。具体的には、MVC Web サイトがあります。global.asax ファイルには、データの変更に基づいて、テーブルが変更されるたびにルート制約を更新するリッスン機能がありました。
残念ながら、SQL Server 2008 にも移行しました。現在、この機能をまったく動作させることができません。私が知る限り、実際には SQL Server 2008 で削除されていますが、厄介なことに、エラーが発生したときに起動するように見えることがあります。少し混乱しましたが、サービスが利用できなくなったようです。
だから私は提案された代替案が必要です。私は StreamInsight を見てみましたが、率直に言って、ナッツを割るのが大ハンマーのように思えます。さらに、Notification Services のサポートがそうであったように、このサポートが今後削除されるのではないかと少し疑っています。最も簡単な方法は、コンソール アプリケーションが 5 分ごとに作業を実行するようにスケジュールすることですが、即時の更新が非常に望ましいので、コマンドライン アプリケーションで何かを更新するのがどれほど簡単かはわかりませんルーティングとしてのウェブサイトの基本。
それで - 何か提案はありますか?
.net - SQL クラスターとの SqlDependency?
SqlDependency について簡単な質問があります。フェールオーバー クラスターで構成された 2 つの SQL 2005 サーバーがあります。
アクティブ ノードが変更されると、通知の受信を停止します... SqlDependency をホストする Windows サービスを手動で再起動する必要があります...
これは正しい動作ですか?依存関係を自動的に再開するにはどうすればよいですか??
前もって感謝します!!
ps。私の英語が下手でごめんなさい!アルゼンチンから乾杯!!!
asp.net - クラスで SqlDependency を使用するにはどうすればよいですか?
大きな問題があります。Windows フォームに SqlDependency ウォッチャーを実装すると、「OnChance」イベントを UI スレッドに呼び出す限り、すべて正常に動作します。
メソッドをクラスに移動すると、クラスが ISynchronizeInvoke を実装していないため、Invoke と InvokeRequired を実行できません。これらの行にコメントを付けると、プログラムは "SetSqlWatcher" の最初の行でハングします。
Windowsフォームでこれらの行にコメントを付けると同じことが起こるので、_OnChance イベントは、初めて SetSqlWatcher を呼び出したときに使用している「スレッド」とは別のスレッドにあると思います。
また、ISynchronizeInvoke を実装しようとしました (ライブラリhttp://nitoasync.codeplex.comの GenericSynchronizingObject の助けを借りて)。コードが最初にそれを呼び出す必要があることをデバッグしましたが、「SqlDependency.Stop」でもハングします...
誰かが私を助けることができますか、そしてなぜこれがうまくいかないのか説明してくれますか?
どうもありがとうございました!よろしくトーマス
visual-c++ - C++ でクエリ通知を使用できますか? はいの場合、どのように、そうでない場合、代替手段があるかもしれません
C++ でクエリ通知を使用できますか? はいの場合、そうでない場合は、代替手段があるかもしれません..
MSDN では、sqlDependency を使用してクエリ通知を使用する方法に関する C# の例を提供していますが、C++ アプリケーションではそのような機能を使用する必要があります。それで、あなたはどう思いますか..?
c# - SqlDependencyサブスクリプションは、ハードコードされたSQLコマンドで登録されていますが、LINQでは登録されていません
SQL依存関係通知をLINQで機能させようとしています。
ハードコードされたコマンドテキストで成功しました:
QN: Subscription
SQLServerプロファイラーに。を含むテキストでリストされたイベントが表示されますsubscription registered
。その後はすべて問題ありませんdiscounts
。テーブルに変更が加えられると通知されます。
ただし、LINQを使用して同じクエリを実行すると、次のようになります。
results
は正しく返さQN: Subscription
れますが、プロファイラーにはイベントがありません(したがって、変更に関する通知は届きません)。http://www.simple-talk.com/sql/t-sql-programming/using-and-monitoring-sql-2005-query-notification/によると、サブスクリプションの登録に失敗した場合は、異なるテキストのエントリが必要です。しかし、それすらないので、サーバーがリクエストを受信していないようです。
誰かが私が間違ったことを教えてくれるか、正しい方向に私を向けてください。
c# - SqlDependency によるキャッシュ
データベースの変更を監視するために SqlDependency を使用しています。例を理解しやすくするために、これらは株価であるとしましょう。また、アプリケーションは (別の) SqlDependeny-Object を使用して、アプリケーションにキャッシュされている静的データへの変更を監視します。
私がしていることは、アプリケーションを起動するときに依存関係を開始し、アプリケーションを閉じるときにSqlDependency.Start()
呼び出すことです。SqlDependeny.Stop
これまでのところ、すべてがうまく機能しています。
これで、ユーザーが銘柄記号を選択すると、別の SqlDependency が設定され、変更が通知され、それに対してアクションを実行できるようになりました。ユーザーが追跡したいシンボルを変更すると、新しい SqlDependency を設定する必要があり、古い SqlDependency をクリアする必要があります。
私の質問は:それは本当ですか?また、特定の依存関係をクリアするにはどうすればよいですか? SqlDependency.Stop()
静的メソッドであり、すべての依存関係を停止します。それでも、SQL サーバーの通知サブスクリプションが本当にクリアされているのか、タイムアウトになるのを待っているだけなのか、まったくわかりません。
これはすべて、SqlDependency を使用してキャッシュを行う正しい方法なのか、それともこれを達成するための優れた簡単な方法があるのかという疑問を提起します。
c# - SqlDependency を使用すると、一定の更新が行われます
この MSDN ページから例を引っ張ってきて、ほぼそのまま使用しました。実行すると、コードは適切にコンパイルされますがchangeCount
、返されたデータに実際に変更があったかどうかにかかわらず、無限にインクリメントされます。実際に変更が発生dataGridView1
すると、変更が正しく反映されます。SqlDependency
変更がないように見えるのに、ループで起動しているように見えるのはなぜですか?
ソースは次のとおりです。
編集:これを実行したいデータベースでは、現在 Broker Service が有効になっていないことに注意してください。そのため、コードをテストするために、ターゲットデータベースをバックアップして新しい名前で復元し、それALTER DATABASE my_db_name SET ENABLE_BROKER
に対して実行しました。私のテストはすべてこの代替データベースで行われました。つまり、私はそのデータベースの唯一のユーザーです。
asp.net - ASP.NET SQLでレポートをキューに入れ、利用可能になったらユーザーを更新する最良の方法
Web サイトのユーザーがレポートをキューに入れられるようにしたい (要求を SQL テーブルに入力する)。キューは、SQL サーバーからキューを読み取り、レポートを実行し、レコードの reportcomplete フィールドを更新する Windows アプリによって処理されます。「レポートを生成しています」のようなメッセージを投稿し、レポートが利用可能になったときにユーザーに警告できるようにする必要があります。SQLDependency をいじり、onchange イベントを発生させることはできますが、もちろん、ブラウザーに既に読み込まれているページに戻ることはできません。これを達成する方法についてのアイデアはほとんどありません。SQLDependency が間違った方法である可能性があると考えています。何か案は?
.net - WindowsサービスのイベントをホストしているWCFサービスに伝達して、WCFサービスがクライアントへのコールバックを発生させるにはどうすればよいですか?
これが私がやりたいことです:
- WCFサービスをホストするWindowsサービスがあります。このサービスは、SQLDependencyを介してSQLServerからも通知を受け取ります。
- WindowsサービスがSQLServerから何かが変更されたことを通知されたら、ホストしているWCFサービスを介してすべてのクライアントへのコールバックを開始する必要があります。
これが私がこれまでに持っているものです:
- コールバックなどを含むWCFサービス。これは機能し、クライアントはコールバックを受信します(ただし、これまでのところ、クライアントが最初にメッセージを送信した場合のみです!)。
- WCFサービスをホストし、SQLDependency通知を取得するWindowsサービス
これが私が私の顔に落ちたところです:
- Windowsサービスに、クライアントにメッセージを送信する必要があることをWCFサービスに通知するにはどうすればよいですか?
php - PHP & MySQL: ポーリングせずにテーブルのデータが変更されたかどうかを確認しますか?
接続またはクエリを実行せずに、MySQL テーブルのデータがまったく変更されたかどうかをテストする方法はありますか。
これは奇妙に聞こえるかもしれませんが、ASP.NET では、データが変更されたときに発生する一種のイベントである SqlDependencies を設定できます (そのため、データベースをポーリングする必要はありません)。