2013-04-18 3 views
0

에 신호를 전송해야하는 시나리오에는이다 : 이벤트가 DB의 데이터베이스 일부를해야 Windows 서비스를 알려야 발생하면 즉시 응답은 Windows 서비스

내가가 SQL 서버 2008가 동작.

새 작업/db 이벤트가 일정 시간 동안 기다리지 않으려 고합니다. 즉각적인 조치가 필요합니다.

이렇게하는 가장 좋은 방법은 무엇입니까?

  1. CLR 어셈블리를 만들고 DB에 연결하는 것에 대해 생각했습니다. 그런 다음 어셈블리는 예를 들어 Windows 서비스를 사용하여 Windows 서비스에 연결해야합니다. TCP/IP 그런 다음 서비스는 각성하고 모든 팁 사전에 작업

  2. 을하거나 로컬 INPROC co.kr에서 어셈블리를 생성하고

    DB

감사에서로드됩니다.

+0

어떤 종류의 '이벤트'를 캡처 하시겠습니까? 또한 SQL CLR에는 표준 CLR보다 많은 제한 사항이 있습니다. – Lloyd

+0

[CLR 트리거] (http://msdn.microsoft.com/ko-kr/library/ms131093.aspx)를 만들려고하십니까? – mbeckish

+0

@Lloyd 새로운 행이 삽입/업데이트 된 경우 등 메소드 실행은 테이블 트리거에서 트리거 될 수 있습니다. – John

답변

2

나는 SqlDependency을 포함하는 Windows 서비스를 만들고 싶습니다.

이것은 FileSystemWatcher과 약간 비슷하지만 SQL 데이터베이스의 경우 작동합니다.

http://msdn.microsoft.com/en-gb/library/a52dhwx7(v=vs.80).aspx

+0

그럼 믿을 수 없을 정도로 놀랍습니다. 믿을만한 솔루션입니까? – John

+0

일부 데이터가 변경되었다가 테이블을 쿼리하여 ** 데이터가 변경되었음을 알리는 것은 약간 짜증나지만, 안정적으로 작동합니다. – paul