扩展存储过程(100分)

  • 主题发起人 主题发起人 g622
  • 开始时间 开始时间
G

g622

Unregistered / Unconfirmed
GUEST, unregistred user!
前面有人提问如何感知数据库的变化。
我觉得,如果可以当数据来时由服务器通知
客户机或直接送会好一些。
我觉得这种应用挺多,如果可以做到
扩展存贮过程使它可以直接把得到的记录集,或值
发到已知ip的客户端会很爽。大家有什么想法?
 
interbase的udf可以做到,其他不知道
 
wait gxg8816 cakk等
 
如果使用服务器通知客户机的话,那么你有没有想过,如果客户机没有开的话,
这条消息岂不是丢了吗?
我目前能想到的最好的方法就是将数据集变化的消息存放在一个表中,
然后客户机去读这个表中的数据,就可以知道数据集的变化了。
如果你的客户端是一直开机的话,那么可以使用UDP协议,使用Delphi的UDP控件
在改变数据集的时候,同时向各个IP发一个消息。
 
to suncheng:
"如果客户机没有开的话,这条消息岂不是丢了吗?"
可以通过请求应答方式确定和客户机的连接呀?
 
在自己建立的数据库中,是无法建立扩展存储过程的
因为扩展存储过程只能出现在Master库中,他有一个Extend SP一项
而其他库是没有的

通过应答方式来确定,如果客户机没有开的话,那又怎么办呢?
还是要表里写,那么应答岂不是白做了吗?
 
还是要表里写,那么应答岂不是白做了吗?
答:应用不同时这是可以被允许的.
 
小弟初学,有一问题请教:据说 SQL SERVER6。0中有ODS,我装的是6。5,没有是不是没有,怎么办?
 
//瞎猜的

Oracle8好象支持调用外部DLL文件,是不是可以在这方面下下功夫呢?
在服务端建立Trigger,将所有变化
1: 客户开机,就将以前的所有变化从暂存表中读出,并通过DLL船给客户
2: 客户未开机,将变化写入暂存表
 
只有Oracle8支持调用外部DLL文件?
 
interbase 也支持
 
pipi,沈前卫:
你们终于进来了, :)
sql server是否支持?
有没有详细的资料?
 
sql sqlserver不熟,回去查查看!
 
Sql server 支持.
可以创建一个DLL,并在DLL中包含多个外部函数,函数通过ODS API将结果传回
sql server.
扩展存储过程用sp_addextendproc注册.
在表上建trigger,触发后调用你的dll函数,向客户端发消息,让客户刷新数据.
以上只是理论,我没机会试验.
我很少有机会写delphi程序,还要多向
沈前卫, g622, pipi等学习.
 
谢谢。
再详细一点。
 
gxg8816:
好谦虚!!! :)
 
SQL SERVER中开放式数据服务ODS(open Data Services)介于网络数据库和应用程
序之间,用于处理客户与服务器之间的表格数据流通讯,从客户应用程序发出T-SQL
语句及从服务器发回结果集数据
利用ODS API,可编写扩展存储过程.调用扩展存储过程时,SQL SERVER 把DLL加载
到SQL SERVER的地址空间,把调用传给过程.

只知道这么多了.
 
后退
顶部