【发布时间】:2022-05-17 15:57:16
【问题描述】:
我已经实现了这篇文章在SQL Server里面调用rabbitmq:
[https://nielsberglund.com/2017/02/11/rabbitmq---sql-server/][1]
但是当我尝试使用 CLR 发送消息时,我收到了这个错误:
消息 50000,级别 16,状态 1,过程 pr_SomeProcessingStuff,第 43 行
错误:在执行用户定义的例程或聚合“pr_clr_PostRabbitMsg”期间发生 .NET Framework 错误:System.ApplicationException:尝试向 Exchange 发布消息时通道池被阻塞:amq.topic。
System.ApplicationException:
在 RabbitMQSqlClr.RabbitPublisher.Post(字符串交换,字节 [] 消息,字符串主题)
在 RabbitMQSqlClr.RabbitMQSqlServer.pr_clr_PostRabbitMsg(Int32 endPointId, String msgToPost)
在行:0 在行:13
这是我的兔子配置
【问题讨论】:
-
你的 SQL Server 和 Rabbit 是否在同一个盒子上,如果不是 - 检查防火墙。
-
@NielsBerglund 他们在同一个盒子里
-
@NielsBerglund 应该设置哪个端口?
-
嗨,Ehsan,端口是 5672。您是否尝试过控制台应用程序中的 CLR 代码? IE。创建一个控制台应用程序并引用您部署到 SQL Server 的 dll,然后从控制台运行,看看会发生什么。
-
@NielsBerglund 非常感谢。不,我没有,我应该参考哪个 dll?
标签: sql-server rabbitmq .net-assembly sqlclr