2012-04-19 11 views
2

SQL Server 2008にソケットサーバーにメッセージを送信するSQL-CLRトリガがあります。それはうまく動作しますが、私はそれが通信するサーバーに接続を維持するためにTCPクライアントが必要です。SQL-CLRトリガまたはストアドプロシージャ内にソケットを作成する

これを行うには、私は生きているままのスレッドを作る必要があります。だから、私はキューにメッセージを追加したスレッドを作成しました。クライアントは接続していますが、SQL Serverはクライアントがキューに入れられたメッセージを処理してそれをTCPサーバーに送信する前に起動します。

このアプリケーションの目的は、xmlで更新されたフィールドとそれらに関連付けられた値を送信することです。スレッドで処理され、TCPソケットサーバーに送信されるキューに入れたいと思っていました。

代替案として私が今計画しているのは、CLRトリガーがMSMQにメッセージを追加し、これらのメッセージを処理する別のサービスがあることです。

これを行うにはどのような良い提案がありますか?

+0

あなたが具体的でしたどのタイプのサーバーと通信しますか?送信するデータの量、目的、プロトコルはどれくらいですか? (ログ情報?メッセージキュー?ゲームサーバー通信?) – sisve

+0

私はこの詳細を持って私の質問を更新します。私はいくつかのxml形式で手元にあるテーブルのための変更された列/値の関連付けを送信したいと思います。ですから私の目標は、このデータをキューに格納し、一度に1つずつ処理することです。ソケットクライアントは、そのテーブルに多くの変更があるので、サーバへの接続が1つだけであればうまくいきます。 –

+0

Service Brokerを使用していますか? – HLGEM

答えて

1

'C:\ WINDOWS \ Microsoft.NET \ Frameworkの\ v2.0.50727ののの\ System.Messaging.dll' からASSEMBLYメッセージング AUTHORIZATIONのDBO をCREATE PERMISSION_SET = UNSAFE GO

WITH