将数据从 Sql Server 推送到桌面应用程序

Posted

技术标签:

【中文标题】将数据从 Sql Server 推送到桌面应用程序【英文标题】:Push data from Sql Server to desktop application 【发布时间】: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 多台不同的电脑上,所有这些电脑都需要在数据更改时得到通知。

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

【问题讨论】:

你看了吗? msdn.microsoft.com/en-us/library/ms130764.aspx @Blam 有趣。我会快速旋转一下,然后回复你:) 嗯,这是 3 年前的事了,但我想知道同样的事情。 .NET 4 或 4.5.2 的任何更新? @MartinMeeser 我刚刚挖出了我的旧代码(它从未投入生产)并且可以验证它是否适用于 .NET 4.5.2 和 SQL Server 2014。 【参考方案1】:

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

【讨论】:

好的,我知道了,它正在工作......有点。我只是试图在 sql server 上正确设置查询通知,以便仅在表中的特定数据发生更改时发送通知。 我已经成功了!我的问题是我需要在命令中指定两个部分表名称。感谢您的帮助! 我想知道这是否确实在下面使用了一种继续请求,或者它是否是来自 sql server 的真正推送 - 无论如何,自 .NET 2.0 起似乎不支持它

以上是关于将数据从 Sql Server 推送到桌面应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据从本地 SQL Server 推送到 AWS 上的 Tableau Server

计划的 SQL Server 实例推送到 Azure SQL 数据库

将数据从 PLSQL 程序推送到 Java 应用程序

如何将 Excel 数据从不同的工作表导出到 SQL-SERVER 数据库?

将数据从 rest api 推送到 sql 数据库的最佳方法是啥?

提问关于客户公司在SAP中下单后,数据如何同时推送到我方公司系统的数据库(SQL Server 2K)