【问题标题】:Push data from Sql Server to desktop application将数据从 Sql Server 推送到桌面应用程序
【发布时间】:2012-09-11 14:16:59
【问题描述】:

我有一个用 c# 编写的非常简单的 .net 4 桌面应用程序,它需要显示一些插入到 SQL Server (2005) 上的表中的数据。数据本身很简单,只有一行,大约 10 列,(主要是其他数据的计数)。

我可以每隔 x 间隔从应用程序轮询 sql server,但我的偏好是尽可能让 sql server 将数据推送到此应用程序,因为“新数据”的时间通常是不规则的。

简而言之,我想知道这是否可能。在发布这个问题之前做了一些研究,我发现了一些可能性。

1) SignalR:我发现this 问题似乎很有希望,但这似乎是在 Web 应用程序而不是桌面应用程序的上下文中。在查看 signalR wiki 后,在我看来,它需要某种 Web 服务或其他我希望避免的 http 连接。

2) Sql server 更改跟踪,来自this 问题。首先,我不在 sql 2008 上,所以我假设我必须安装或配置它(这不是问题),但我也不确定这是否能满足我的需要。

我还要提到,这个客户端应用程序可能存在于 100 多台不同的电脑上,所有这些电脑都需要在数据更改时得到通知。

那么,这样的事情可能吗?如果问题有点含糊,我深表歉意 - 并提前感谢您的帮助!

【问题讨论】:

  • @Blam 有趣。我会快速旋转一下,然后回复你:)
  • 嗯,这是 3 年前的事了,但我想知道同样的事情。 .NET 4 或 4.5.2 的任何更新?
  • @MartinMeeser 我刚刚挖出了我的旧代码(它从未投入生产)并且可以验证它是否适用于 .NET 4.5.2 和 SQL Server 2014。

标签: c# .net sql-server sql-server-2005 signalr


【解决方案1】:

SQLDependencyclass 应该迎合您所指的场景。 虽然我没有使用这个的任何个人经验,this article 似乎符合你的情况

【讨论】:

  • 好的,我知道了,它正在工作......有点。我只是试图在 sql server 上正确设置查询通知,以便仅在表中的特定数据发生更改时发送通知。
  • 我已经成功了!我的问题是我需要在命令中指定两个部分表名称。感谢您的帮助!
  • 我想知道这是否确实在下面使用了一种继续请求,或者它是否是来自 sql server 的真正推送 - 无论如何,自 .NET 2.0 起似乎不支持它
猜你喜欢
  • 2012-06-15
  • 2012-02-20
  • 1970-01-01
  • 2011-07-22
  • 1970-01-01
  • 2018-08-19
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多