【问题标题】:Is there a way I can run a c++ program through MySQL query?有没有办法通过 MySQL 查询运行 c++ 程序?
【发布时间】:2019-10-25 11:02:43
【问题描述】:

我不知道这是否可能。 我具体想做的是:

  • 运行一个 c++ 程序,该程序在一些处理后返回一个值(可能使用 MinGW 编译器)。
  • 该处理级别的任何替代方案。

我在一个项目中需要它,并且想知道它是否可能。

【问题讨论】:

  • 请提供更详细的说明,说明您要做什么。
  • 一种方法是创建一个程序执行表(如 scriptname | date | status),然后一个 c++ 进程主动轮询该表以检查新行(例如:status =待定)并运行所述脚本。这样你只需要在你的表中插入一行来运行它。但我不知道是否有更好的方法
  • @Pibben 这是一个大学项目,是一个用于存储天气数据的数据库。我需要做 mysql 自己可以做的快速和更复杂的计算。这就是我研究 C++ 的原因,因为它速度快而且我对它有所了解(或者至少足以为这些计算编写代码)。

标签: c++ mysql sql mingw


【解决方案1】:

您可以创建一个插件(= 一个共享库),而不是执行一个程序,并将计算例程实现为一个函数。您还需要添加一些初始化/取消初始化例程等,有关详细信息,请参阅here。任何编译器都应该可以,因为接口使用extern "C",即通用的简单 C 调用。

然后可以使用CREATE FUNCTION 机制将这样的函数导入 MySQL,例如

CREATE FUNCTION myfunc_double RETURNS REAL SONAME 'udf_example.dll';

根据该语句的documentation,可以通过这种方式定义简单和聚合的自定义函数。

【讨论】:

  • 非常感谢,这似乎比我计划做的要简单。
猜你喜欢
  • 1970-01-01
  • 2021-11-05
  • 2011-03-15
  • 1970-01-01
  • 2016-02-13
  • 1970-01-01
  • 2023-03-04
  • 2020-05-29
  • 2013-12-07
相关资源
最近更新 更多