Получение автоматического уведомления от SQL Server, когда таблица не пуста - PullRequest
2 голосов
/ 22 декабря 2008

Я хотел бы использовать таблицу SQL Server в качестве очереди действий. Поэтому, когда таблица не пуста, мне нужно какое-то уведомление для моего приложения VDF , чтобы избежать постоянного опроса базы данных. VDF полагается на использование stdcall , стандартного соглашения о вызовах для Win 32 API или COM / ActiveX. Другое решение, которое может работать для меня, - это просто запустить exe-файл, когда таблица не пуста.

Есть ли какие-либо события в SQL Server, которые можно использовать здесь? И как бы вы пошли по поводу направления такого события для использования VDF (как описано выше)?

Ответы [ 2 ]

2 голосов
/ 22 декабря 2008

Вы можете использовать триггер ON INSERT, возможно, чтобы отправить строку прямо на MSMQ , где ваше приложение прослушивает события при поступлении новых сообщений.

Вот пример того, как кормить MSMQ с использованием SQL Server , а здесь краткий пример того, как прослушивать события .

Существует также поставщик событий SQL Server , который в основном просто выполняет опрос за вас.

1 голос
/ 23 декабря 2008

Как бы вы пошли в направлении направления такого события для использования VDF.

То, как вы будете передавать канал в VDF, зависит от того, хотите ли вы, чтобы что-то видимое происходило внутри вашего приложения VDF, или от того, хотите ли вы просто запустить процедуру в VDF.

Если последнее, я бы посоветовал вам использовать Webapp для обеспечения этой функциональности. VDF (версии более 10) имеют встроенную веб-разработку, и просто предоставить SOAP-интерфейс, чтобы делать все, что вы хотите.

{ Published = True  }
{ Description = "Test the service is alive - returns 'Hello World'"  }
Function HelloWorld Returns String
    Function_Return "Hello World"
End_Function

Если первое, то не беспокойтесь об использовании объекта таймера для опроса базы данных каждые пару секунд или около того. Вы обнаружите, что код более «dataflex», и есть только незначительный удар по производительности.

Тем не менее, существует библиотека VDF с открытым исходным кодом для MSMQ, которую можно найти по адресу ..
http://www.vdf -guidance.com / ContribPage.asp? Page = PKGGENMESSAGING & ContribRecId = 106

Наконец, группы новостей Data Access - лучшее место для поддержки Visual Dataflex. Используйте http://sture.dk/wasp для поиска в исторических новых группах и перейдите на news.dataaccess.com (используя выбранный вами NNTP-клиент), чтобы публиковать и отвечать на вопросы.

...