社区
C#
帖子详情
服务器端数据库(Oracle)有更新,怎样及时通知客户端应用程序
victory1024
2010-07-05 03:03:16
各位高手,请问:
当服务器的数据库(Oracle)中的某一个表有插入,更新,删除时,怎样及时的通知客户端的应用程序。我知道Java方面有一个JMS之类可以实现的,请问C#中有没有类似的方法可以实现。麻烦提供点思路也行。
...全文
269
8
打赏
收藏
服务器端数据库(Oracle)有更新,怎样及时通知客户端应用程序
各位高手,请问: 当服务器的数据库(Oracle)中的某一个表有插入,更新,删除时,怎样及时的通知客户端的应用程序。我知道Java方面有一个JMS之类可以实现的,请问C#中有没有类似的方法可以实现。麻烦提供点思路也行。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
whslovexyp
2010-07-05
打赏
举报
回复
学习了
victory1024
2010-07-05
打赏
举报
回复
[Quote=引用 4 楼 computerfox 的回复:]
Database Change Notification可以实现:
在现在的程序开发过程中,我们经常考虑的一个提高性能的方法就是用data cache。Data cache 避免了我们每次需要数据的时候都去访问数据库,这样节省了大量的时间。但是这样就出现了一个问题,当我们用data cache的时候,如果在数据库中的数据发生了改变,那么我们data cache 中的数据就和数据库的数据不一致了,……
[/Quote]
谢谢,我调查一下。
捷哥1999
2010-07-05
打赏
举报
回复
Database Change Notification的一个例子
Oracle 10g Release2新功能之变化通知(转)
kinglshadow
2010-07-05
打赏
举报
回复
[Quote=引用 4 楼 computerfox 的回复:]
Database Change Notification可以实现:
在现在的程序开发过程中,我们经常考虑的一个提高性能的方法就是用data cache。Data cache 避免了我们每次需要数据的时候都去访问数据库,这样节省了大量的时间。但是这样就出现了一个问题,当我们用data cache的时候,如果在数据库中的数据发生了改变,那么我们data cache 中的数据就和数据库的数据不一致了,……
[/Quote]
对啊,SQL dependency 查询通知机制 应该解决你的问题
捷哥1999
2010-07-05
打赏
举报
回复
Database Change Notification可以实现:
在现在的程序开发过程中,我们经常考虑的一个提高性能的方法就是用data cache。Data cache 避免了我们每次需要数据的时候都去访问数据库,这样节省了大量的时间。但是这样就出现了一个问题,当我们用data cache的时候,如果在数据库中的数据发生了改变,那么我们data cache 中的数据就和数据库的数据不一致了,这样将会导致错误。为了解决这个问题,我们一般常用两种方法。
1. 让用户手动的更新data cache的内容,例如提供一个更新按钮。
2. 让我们的程序间隔一定的时间自动去更新data cache的内容。
不难看出,这两种方法都有相当的局限性。
第一种方法用户必须记住经常的去更新数据,如果数据库中的数据改了但是用户并没有去更新数据,这样将导致错误。第二种方法的局限性是我们没有办法设置一个恰好的时间间隔使数据库数据变化的时候保证data cache的数据也发生变化。
Database Change Notification就是为了解决这个难题。
Database Change Notification 的基本概念
Database Change Notification的作用就是当数据库中的数据发生变化的时候,自动发出一个通知。
用Database Change Notification有三个步骤:
1. 注册: 指定数据库要监听的查询。ODP.NET自动注册基于这个查询的监听事件。数据库可以监听DML(Data Manipulation Language)事件,DDL(Data Definition Language)事件,和global 事件(例如关闭数据库)。
2. 通知:一旦数据库中的数据发生变化,数据库将自动发出通知,我们要在我们的程序中定义事件处理操作。
3. 响应:在我们的程序中,一旦收到通知,我们一般情况下会自动更新data cache,当然我们可以通知用户数据发生改变,由他来决定是否进行更新。
victory1024
2010-07-05
打赏
举报
回复
[Quote=引用 2 楼 kevin_cheung 的回复:]
1.要是客户端做的 可以直接从客户端获取
2.要是服务器端做的
可以
(a)采用服务器端通知客户端的方式
(b)写一个触发器 触发后就把数据写到一个log表中 客户端去读取log 查看上次读取时间以后的数据就可以了
[/Quote]
这个表的变更时在服务器端做的。现在是想采用服务器端通知客户端的方式,可不知道采取什么样的通知方式,麻烦给提供一下。
其实整个要做的事情就是首先客户端先取一次这个表的数据,然后只有当这个表有变更的时候,客户端才去重新取一次这个表的数据。
LovingAlison
2010-07-05
打赏
举报
回复
1.要是客户端做的 可以直接从客户端获取
2.要是服务器端做的
可以
(a)采用服务器端通知客户端的方式
(b)写一个触发器 触发后就把数据写到一个log表中 客户端去读取log 查看上次读取时间以后的数据就可以了
LovingAlison
2010-07-05
打赏
举报
回复
这个表的变更(增删改)是客户端做的还是什么做的?
Oracle
11g服务器、
客户端
的安装和plsql developer(一次成功)
1.你能保证
Oracle
11g不出现错误吗? 2.你能保证
Oracle
11g 服务器安装不出现错误吗? 3.你能保证plsql developer不出ORA-12541 TNS 无监听程序...你知道
Oracle
11g安装
服务器端
,
客户端
,plsql developer都有哪些坑点吗?
oracle
mysql
客户端
_
oracle
客户端
与
服务器端
的关系
一、
Oracle
客户端
与
服务器端
的通讯机制1、
Oracle
Net协议如下图所示,
Oracle
通过
Oracle
Net协议实现
客户端
与
服务器端
的连接以及数据传递。
Oracle
Net是同时驻留在
Oracle
数据库
服务器端
和
客户端
上的一个软件层,它封装了TCP/IP协议,负责建立与维护
客户端
应用程序
到
数据库
服务器的连接。如下图所示,
客户端
发出的请求首先通过
Oracle
Net协议转换,转换成可以通过网络...
oracle
客户端
访问
数据库
,
ORACLE
数据库
客户端
连接访问服务器
数据库
客户端
连接访问服务器
oracle
客户端
访问服务器是通过Listener/Tnsnames协议机制。Listener负责再服务器上监听来自远端的连接请求,而Tnsnames则是远端的连接协议。用户在使用这个机制的时候,只需要保证三点即可:1.
客户端
/服务器之间的网络链路通畅。2.服务器上监听器配置正确并启动($
ORACLE
_HOME/network/admin/Listener.ora),且数...
oracle
限制连接的
客户端
,不安装
客户端
连接
oracle
数据库
原文引用地址:blog.wangyongjian.cn本文主要介绍了在不安装
Oracle
数据库
客户端
的情况下连接远程端的
Oracle
数据库
服务器,可做为日常开发参考。不安装
客户端
可以避免因
客户端
的配置不当造成连接的失败,因为不需要安装
数据库
客户端
,可以减少软件安装部署时间,减少软件安装后的设置步骤,提高使用效率,降低安装部署难度。
Oracle
提供了多种方式用于连接本地或远程端的
Oracle
数据库
服...
Oracle
数据库
服务器端
和客服端的安装
一、
Oracle
数据库
服务器端
的安装二、
Oracle
数据库
客户端
的安装
Oracle
服务器端
现在主要使用的是
oracle
11.2.0.4.0。以下的事例都采用的
oracle
11.2.0.4.0版本。 口令根据所需自行设置 注意事项:1、
oracle
基目录使用 D:\app\Administrator。2、
数据库
实例名使用 ORCL。3、 密码自行设置。4、 内存管理在 40%-60%之间。5、 对
数据库
进行如下更改(实例建完就要修改):--
oracle
11g 默认空表不导出,需要修改如下参数
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章