2012-09-11 75 views
6

我想使用SQL Server Service Broker生成一條消息(在SQL Server內部)並在外部C#應用程序中讀取它。是否可以從C#應用程序訪問SQL Server Service Broker?

我僅限於Windows 2003運行SQL Server 2005.我讀過一堆文章,暗示這是一種可能性,但我沒有看到任何地方的例子。這可能嗎?

+0

抱歉對這個問題沒有建設性的想法,只是想指出,SQL Server 2005甚至在一年中甚至沒有擴展支持,所以編寫新的東西可能是需要重新考慮的問題。 –

+0

正在執行一個sproc選項嗎? – JeffO

+0

@JeffO是的,我可以執行一個sproc,但練習的重點不是輪詢數據庫中的事件,而是要在C#應用程序中接收它們。 – AngryHacker

回答

3

T-SQL有訪問Service Broker的語句:SEND,RECEIVE和其他。您可以使用ADO.NET來執行它們。

+0

SSMS與服務代理有什麼關係?我錯過了什麼嗎? – AngryHacker

+0

@AngryHacker,我想我的答案不是很清楚。讓我問一個問題:爲什麼你的C#應用​​程序不能通過執行RECEIVE語句來讀取事件? – usr

+1

@AngryHacker:Service Broker完全包含在SQL Server中。您使用T-SQL(['SEND'](http://msdn.microsoft.com/en-us/library/ms188407.aspx),['RECEIVE'](http://msdn.microsoft.com/en -us/library/ms186963.aspx)),並且您將消息從SQL Server實例交換到另一個SQL Server實例。您不能將消息發送到C#應用程序,但可以*將消息發送到C#應用程序從中讀取消息的隊列(由SQL Server承載)。 –

相關問題