首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将MySQL事件通知实现回Delphi应用程序

问将MySQL事件通知实现回Delphi应用程序
EN

Stack Overflow用户
提问于 2010-10-21 11:06:13
回答 2查看 2.1K关注 0票数 6

早上好,

有没有人能就如何通知我的Delphi应用程序我的MySQL数据库中的特定记录已更改提供一些建议?与Interbase的事件系统类似的东西?

我看过的想法:

.:Q4M :.(http://q4m.31tools.com/)

优点:不需要外部守护进程的原生MySQL解决方案缺点:由于使用特定于Win32的Posix调用,因此不存在任何Linux构建

.:MySQL消息接口:。(http://messagequeue.lenoxway.net/)

优点:健壮(使用spread.org)缺点:没有Win32二进制文件。需要spread.org的其他配置和守护程序

.:自定义用户定义函数:。

我正在尝试编写一个可以使用Win32 API PostMessage()的自定义函数,因此可以向简单套接字服务器发送一条windows消息。

优点:与MySQL集成(尽管有外部DLL依赖)。可以根据我的需要进行定制缺点:我不能让它工作(参见MySQL User Defined Function to send a windows message)。这可能是因为MySQL是作为服务运行的

任何指针,想法等非常感谢。

--D

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-13 16:47:15

我最终按如下方式实现了它:

  • 创建了在TCP端口上侦听的Windows应用程序以及Windows管道
  • 创建了一个mySQL用户定义函数( UDF ),该函数将连接到上述Windows管道并向数据库中的表发送一些information
  • Added触发器,以调用UDF,其中包含以下信息:哪个表、什么操作(插入、删除、更新)、主键值
  • TCP客户端现在可以连接到Windows应用程序以接收从UDF
  • 传递的信息然后TCP客户端可以使用检索到的信息

F211根据需要进行刷新

工作良好,并且是轻量级带宽(因为客户端只刷新他们需要的)。另外,将TCP服务器与数据库保持在同一台计算机上,并使用Windows管道,这意味着管道可以保持打开状态,通过向管道写入数据,不会产生TCP堆栈开销。意味着mySQL上的负载和执行自定义函数所需的时间非常小。

票数 2
EN

Stack Overflow用户

发布于 2010-10-21 15:45:23

作为一种选择,您可以考虑使用中间层解决方案,如RemObject DataAbstract或kbmMW。AFAIK,它们允许跟踪中间层的变化,并提供通知客户端的机制。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3983992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档