如何实现数据库触发外部线程?(150分)

  • 主题发起人 主题发起人 灵猫
  • 开始时间 开始时间

灵猫

Unregistered / Unconfirmed
GUEST, unregistred user!
如何实现这样一个功能:当往SQL SERVER数据库的表中插入记录时,能够发送一个消息唤醒DELPHI程序的一个线程?
 
用sendmessage发消息
 
肯定有前端程序吧,一般是 dbgrid,
beforeinsert
afterinsert
 
如果是想在触发器里作:
sql server 7.0 没有资料
oracle 有一些
 
SQL SERVER 支持扩展存储过程,仔细看看
 
这个线程是在另外的程序中吗?如果是的话,就比较麻烦了,
如果不是,直接建立那个线程就可以了参数用false,
或者是另外一个线程一开始就建立,但是一直在休息,
当数据库操作的时候唤醒它,resume方法
 
谢谢各位的回答。在此我再详细说明一下:对SQL SERVER数据库的修改是由另外一个PB程序进行的,与DELPHI程序无任何联系。我希望当PB程序在数据库中添加了一条记录后,能够采用一种方式(比如说触发器发送消息)唤醒DELPHI的程序中的一个线程。不知这样实现起来可能吗?
 
xp_cmdshell 可执行文件名?
 
你说执行dir与xcopy对xp_cmdshell来说有多大区别?

Syntax
xp_cmdshell {'command_string'} [, no_output]

Arguments
'command_string'
Is the command string to execute at the operating-system command
shell. command_string is varchar(255) or nvarchar(4000), with no
default.

no_output
Is an optional parameter executing the given command_string, and does
not return any output to the client.
 
沈前卫,谢谢你!
不过我试过了,好象使用xp_cmdshell无法执行外部应用程序,只能执行像'dir',
'copy','del'等这样的WINDOWS内部命令。比如我写了一个chat.exe程序,然后我
在SQL方式下执行'xp_cmdshell 'c:/chat.exe',no_output',便进入了漫长等待,
最后是错误信息。怎么回事?当然在DOS方式下,执行chat.exe是没问题的。
另外,请教一下,在DELPHI中如何自定义一个消息?
 
多人接受答案了。
 
后退
顶部