Visual FoxPro DB存储过程调用Windows服务

时间:2014-12-19 05:28:03

标签: c# sql-server visual-foxpro

我需要在2003服务器上的FoxPro数据库中使用数据库触发器来触发存储过程来调用我的设计的窗口服务,以便我可以访问另一个SQL Server。您能想到如何将调用从存储过程扩展到Window服务吗?

VFP触发器调用存储过程UpdateTable

FUNCTION UpdateTable
LPARAMETERS lcTableName, lnRecordID

   callToWinService(lcTableName, lnRecordID)

RETURN
ENDFUNCTION

显然,我不知道如何将数据传递给Windows服务。上次我这样做是在几年前。任何帮助将不胜感激

而且,是的,我可以在EXE文件中创建一个带有VFP代码的Windows服务。

1 个答案:

答案 0 :(得分:3)

假设您的意思是Windows服务,则无法使用参数调用它,因为可能它已经在Windows启动时运行。

Windows服务必须暴露某种处理通信的方式。有多种方法可以实现这一目标,其中一些方法取决于用于创建服务的技术:

  • 套接字
  • 命名管道
  • Windows Communication Foundation(如果它是.NET服务)
  • 共享内存
  • RPC

如果您使用参数调用EXE,则会将这些参数传递给任何PRG设置为VFP项目的主程序。

但你为什么采取这种方法?为什么不在触发器内使用SQLCONNECT(),SQLEXEC()等?