当前位置: 首页 > 面试题库 >

C#/ SQL数据库侦听器

黄景胜
2023-03-14
问题内容

我需要连续监视数据库行以检查更改(更新)。如果其他来源进行了某些更改或更新,则应在我的应用程序上触发该事件(我正在使用WCF)。有什么办法可以连续监听数据库行中的更改吗?

我可能拥有更多事件来监视同一表中的不同行。在性能方面有什么问题。我正在使用C#Web服务监视SQL Server后端。


问题答案:

不久前,我有一个非常相似的要求,我使用CLR SP将数据推送到消息队列中来解决了这个问题。

为了简化部署,我创建了一个带有微小功能的CLR SP,该功能SendMessage只是将消息推送到消息队列中,并使用AFTER
INSERT触发器(正常触发器,而不是CLR触发器)将其绑定到我的表上。

在这种情况下,性能是我最关心的问题,但是我已经对其进行了压力测试,并且它大大超出了我的期望。与SQL Server Service
Broker相比,它是一个非常易于部署的解决方案。CLR SP中的代码也确实很简单。



 类似资料:
  • 我正在使用Firebase数据库服务来同步用户数据。我启用了脱机兼容性,问题是在使用了几个月后,用户的数据没有提交到在线数据库中,显然是因为用户的电话系统阻止了应用程序的互联网连接。 在某些情况下,我设法引导用户启用“无限制数据使用”选项,但并不适合所有人。 在我的例子中,问题是监听器: 我还尝试用替换,但没有任何结果。 我不明白为什么手机会阻止我的应用程序同步,让脸书和Youtube等应用程序消

  • 问题内容: 我有一个要求,如果在db表中插入一条记录,则需要自动执行一个Java进程。实现db侦听器的最简单方法是什么? 问题答案: 我有一个针对Oracle的解决方案。自从甲骨文购买了Java以来​​,你不需要创建自己的应用程序,因此它发布了一个监听器。据我所知,这在内部不使用轮询,而是将通知推送到Java端(可能基于某些触发器): 你可以像这样实现它(这只是一个示例): 编辑: 你可以使用以下

  • 问题内容: 问候所有我想做的事情,例如触发器或侦听器(我不知道要做什么),它们将侦听特定的数据库表,并在此表上插入每个新记录后,执行一些Java代码,这意味着它检测到是否有可能插入新记录并获取其数据,我需要一些有关如何完成此过程的指南? 我正在使用Spring-Hibernate-PostgreSQL 问题答案: 这就是创建“ 侦听/提示 ”的目的。 唯一的缺点是您将需要某种类型的后台线程来定期轮

  • 我有一个烧瓶API,我使用烧瓶SQLAlChemy来处理SQLite数据库。我有一个存储日志条目的表,我想将最大行数限制为n。因为插入也是使用原始SQL从烧瓶之外的另一个脚本进行的,所以我创建了一个触发器来检查行数,如果行数高于n,则删除最旧的行数: 此触发器按预期工作,但我正在努力使用烧瓶-sqlalChemy设置它。如何设置触发器/执行原始SQL使用烧瓶sqlalChemy?SQL只需要在db

  • 问题内容: 我现在正在与Firestore合作,但分页有一些问题。 基本上,我有一个集合(假设有10个项目),其中每个项目都有一些数据和时间戳。 现在,我正在获取前3个项目,如下所示: 在快照侦听器中,我保存了快照中的最后一个文档,以便将其用作下一页的起点。 因此,有时我会要求下一页类似的项目: 现在我的前端中有从索引0到索引5(共6个)的项目。整齐! 如果索引4处的文档现在将其时间戳更新为整个集