gpt4 book ai didi

mysql - 如何将mysql程序连接到websocket?

转载 作者:行者123 更新时间:2023-11-30 21:54:54 43 4
gpt4 key购买 nike

我是在lib_mysqludf_sys.dll库中设置的;

C:\Program Files\MySQL\MySQL Server 5.7\lib\plugin

我创建了这个 mysql 函数;

CREATE FUNCTION sys_exec RETURNS int SONAME 'lib_mysqludf_sys.dll';

创建成功,没有抛出任何异常。

然后我在mysql上写了这个触发器;

CREATE DEFINER = CURRENT_USER TRIGGER `bb`.`mytable_AFTER_INSERT` AFTER INSERT ON `mytable` FOR EACH ROW
BEGIN
Call new_procedure();
END

和这样的程序;

CREATE DEFINER=`root`@`localhost` PROCEDURE `new_procedure`()
BEGIN
DECLARE cmd CHAR(255);
DECLARE result CHAR(255);
SET result = sys_exec('curl http://localhost:9095/Laputa');
INSERT INTO trggr VALUES(result);
END

但是 sys_exec 函数返回 1 并且没有连接到 url。

如何从程序连接任何 websocket。

我的系统: windows10 64bit, MySql Server 5.7 'version_compile_machine':'x86_64','version_compile_os':'Win64'

我是看着他们写的:

https://support.pubnub.com/support/solutions/articles/14000043795-can-i-publish-a-message-via-a-database-trigger-

MySQL UDF sys_exec() doesn't work

Real time updates from database using JSF/Java EE

谢谢。

最佳答案

curl 不是 Windows 原生命令,您必须从 curl page 下载二进制文件并将二进制文件(.exe 和 .dll)复制到您的 c:\windows 目录中...您也可以使用 curl.exe

的完整路径

之后您可以执行命令,但 sys_exec 将仅返回 0(成功)或 1(失败),要获得命令的输出,您必须使用 sys_eval功能:

CREATE FUNCTION sys_eval RETURNS int SONAME 'lib_mysqludf_sys.dll';

关于mysql - 如何将mysql程序连接到websocket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45606598/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com