3

我正在创建一个基于 sql 的过程,它可以

  1. 接受一张桌子
  2. 一次加载一个值
  3. 将变量发送到远程 API
  4. 记录 API 的响应
  5. 将响应写入表格以供稍后查看

我已经成功地实现了 1,2 和 5。我希望有一些方法可以选择联系地址,并且 SQL 也可以监听响应。如果您有任何建议,请告诉我!

4

2 回答 2

4

如果不使用用户定义的函数扩展 MySQL 服务器,MySQL 无法使用在服务器上执行的 SQL 代码来执行此操作。

其他一些 SQL 表服务器(例如 PostgreSQL、Microsoft SQL Server、Oracle)可以使用存储过程来实现这一点。但是,从驻留表服务器的代码访问网络资源(如 API)是一项棘手的工作,因为这些资源可能会超时或以其他方式失败。

当您在表服务器中运行它时,这种事情是一个总要调试的毛球。

您最好编写一大块客户端代码(我的意思是作为 MySQL 服务器客户端的代码)来执行此操作。有很多语言可以很容易地支持这一点,包括 python、php、PERL、C#、Java 等。

于 2012-06-20T21:04:43.797 回答
2

MySQL 调用 Web 服务的唯一方法是通过自定义 UDF。

请参阅下面的链接,但基本上您需要做的是构建一个 C 程序,该程序将使用变量作为参数调用远程 Web 服务 API,通过 UDF 将响应返回到您的实际 SQL,该 SQL 可以将结果插入表中。不过,这是一项相当多的工作,尤其是如果您对 C 完全不熟悉的话。

http://www.codeguru.com/cpp/data/mfc_database/misc/article.php/c12615/MySQL-UDFs.htm

于 2012-06-20T21:05:13.207 回答