2010-01-28 9 views
3

Microsoft SQL Server에서 C++ 응용 프로그램에 전화/알림을 보낼 수 있습니까?MS SQL Server에서 C++ 응용 프로그램을 호출 할 수 있습니까?

나는 달성하고자하는 것을 폭넓게 이해하기 위해 데이터베이스가 새로운 정보로 업데이트되고 있습니다. 새로운 정보가 수신 될 때마다 C++ 애플리케이션으로 푸시하여 대시 보드에 사용자의 최신 데이터를 반영합니다.

우리는 C++ 응용 프로그램이 데이터베이스를 폴링하도록함으로써이 작업을 수행 할 수 있지만 비효율적 인 아키텍처로 여기고 SQL이 정보 또는 알림을 C++에 전달하도록하려고합니다.

이 부분에 빛을 비추면 대단히 감사하겠습니다!

----- 1월 28일 오후 3시 40분 ----

확인이 사용할 수있는 권한 기술처럼 보인다 서비스 브로커 외부 활성화에 주위에 약간의 독서 후, 그러나 그것은 SQL Server 2008에 도입 된 기술로 보입니다. 불행히도 우리는 SQL Server 2005를 사용하고 있습니다. 우리가 사용할 수있는 다른 제안적인 기술이나 아키텍처 디자인이 있습니까?

+1

에서 더 간단 (안전한) 접근을 할 것이다. (트랜잭션이 길어질 것입니다.) 메시지 큐 (MSMQ)를 통해 변경 사항을 전달하는 것은 어떻습니까? – beach

답변

3

Service Broker를 사용하고 대기열에있는 이벤트를 처리해야 할 수도 있습니다. 여기에 MSDN : http://msdn.microsoft.com/en-us/sqlserver/cc511479.aspx

+0

매우 재미있는 ~ 나는 이것을 들여다 볼게! – n00b

+0

링크를 더 유용하게 업데이트했습니다. –

+0

Thanks Fatcat ~ External Activation은 SQL Server 2008과 독점적 인 것으로 보입니다. 현재 우리가 사용하고있는 추첨에 따라 2005 년입니다. 다른 제안이 있으십니까? – n00b

0

xp_cmdshell을 사용해보세요. 그것은 내가 가볍게할만한 것이 아니며, 당신이 sysadmin 권한으로 SQL 박스에 접근하지 못하도록 확실히 할 것입니다. sysadmin 사용자로 EXECUTE 할 수있는 저장 프로 시저를 만들고 거기에서 xp_cmdshell을 실행하십시오. 그래도이 기능을 활성화해야합니다 ...

+0

우리는 xp_cmdshell을 사용할 수 있음을 알고 있지만 사장님은 여러 가지 이유로 그런 식으로 가고 싶지 않습니다. – n00b

+0

충분합니다. CLR 저장 프로시 저는 아마도 그렇게 할 수 있습니다. –

1

응용 프로그램에 데이터베이스를 폴링 할 필요가없는 경우, 변경 될 때마다 응용 프로그램에 메시지를 보내는 테이블 트리거를 만들 수 있습니다. 이것은 바와 같이, xp_cmdshell을 작동 것이지만, 보안 및 성능 이유로 지역 사회에서 눈살을 찌푸리게한다 아래 말했다

this

+0

이 메시지가 서비스 브로커를 사용하고 있다고 가정하고 있습니까? 리드를 보내 주셔서 감사합니다. 나는 그것을 들여다 볼 것이다! – n00b

관련 문제