Sql server 如何从SQL Server向RabbitMQ发布消息?

Sql server 如何从SQL Server向RabbitMQ发布消息?,sql-server,rabbitmq,message-queue,easynetq,Sql Server,Rabbitmq,Message Queue,Easynetq,我正在创建一个应用程序,用于测试不同RabbitMQ客户端之间的性能。 其中一个应该是SQL Server。 我发现存在用于SQL Server集成服务(SSI)的RabbitMQ组件。 但似乎可以向exchange发送消息的目标组件尚未编写。 你知道怎么做吗? 是否应该与向MSMQ发布消息类似?简短免责声明:我知道问题的标题,但根据您在评论中所写的内容(当然也包括问题本身),似乎您需要的是能够发送和接收许多消息的RabbitMQ客户机 你不需要写任何东西,RabbitMQ已经有了。您可以找到它

我正在创建一个应用程序,用于测试不同RabbitMQ客户端之间的性能。
其中一个应该是SQL Server。
我发现存在用于SQL Server集成服务(SSI)的RabbitMQ组件。
但似乎可以向exchange发送消息的目标组件尚未编写。
你知道怎么做吗?
是否应该与向MSMQ发布消息类似?

简短免责声明:我知道问题的标题,但根据您在评论中所写的内容(当然也包括问题本身),似乎您需要的是能够发送和接收许多消息的RabbitMQ客户机


你不需要写任何东西,RabbitMQ已经有了。您可以找到它,它是一个java客户端,名为(在链接中也有示例,但当然可以使用
--help
)运行它,并且(正如名称所示)它用于性能测试。您可以定义消费者、生产者、消息的数量、消息的大小等。我曾经使用过它,现在偶尔也会使用它,而且效果很好。因为(我假设)您是RabbitMQ的新手,所以只需更改如何传递amqp uri参数(是规范)

您可以创建一个SQLClr来与RabbitMQ通信,如下所示


我不认为这是一个很好的解决方案,但它似乎很有效。

最好的办法是使用SQL机器上安装的命令行工具rabbitmqadmin。然后可以使用xp_cmdshell将消息发送到队列中


你想干什么?数据库存储数据并响应查询,它不会试图与其他系统集成。虽然您可以调用外部命令,但这种延迟是非常严重的,它涉及到放松安全性,而且只是滥用数据库。SSIS是一种不同的服务,它明确用于简化不同系统之间的集成,而不仅仅是SQL Server。我试图比较包括SQL Server在内的客户端的发送和接收能力(每秒消息数)。数据库不是消息传递客户端。另一方面,web应用程序是。您试图解决的实际问题是什么?如何集成不同的系统?服务?Web应用程序?请注意,SQL Server有自己的消息传递系统Message Broker。这并不是很受欢迎,因为它比大多数人想要的信息系统要重。它还需要配置。虽然您可以将MessageBroker与RabbitMQ集成,但这就像用榴弹炮射击苍蝇一样。我刚刚接到一项任务,创建不同的RabbitMQ客户端,这些客户端将向RabbitMQ发送许多消息。因此,在这之后,我们将能够测试它们的发送和接收性能。我在想,我可以从SQL Server存储过程中向RabbitMQ发送消息。很抱歉,向下投票,因为OP希望直接从SQL Server/SSIS连接。没有提到Java。@KeesdeKooter必须这样做。我不会引用我在答案开头写的免责声明。我非常感谢对-1的解释,请在答案正文中包含必要的步骤。虽然链接后面的帖子可能会解决这个问题,但链接可能会下降,你的答案变得毫无用处。
DECLARE @Cmd VARCHAR(2000)
SET @Cmd = 'rabbitmqadmin publish exchange=amq.default routing_key=test payload="hello, world"'
EXEC [sys].[xp_cmdshell] @Cmd