【发布时间】:2014-12-15 00:00:05
【问题描述】:
我正在开发一个股票市场金融应用程序,我必须在其中根据一些自定义算法生成买卖信号。我从一个 excel 文件中获取此数据,该文件在每个刻度上都会更改。我已经编写了 Excel VBA 用于将数据保存在 SQL Server db 中,以便我可以在我的 .net 应用程序中使用它。我的计算取决于每一个刻度。我可以将数据输入我的应用程序的一种方法是轮询。但我不认为这是一个好的应用程序设计,因为我必须每秒轮询 db。这不是最佳解决方案。所以我想知道当新记录插入数据库时我是否可以在.net中执行代码(比如.net应用程序中的某种插入触发器)。
与标题无关但与我的申请相关的其他问题。这是我第一次开发金融应用程序。所以想知道一些关于优化处理每秒(在某些情况下是微秒)流式传输的数据的技巧。我必须毫不拖延地获取数据、监控和计算每个刻度。立即对每个刻度应用计算非常重要。所以请求任何人帮助我提供一些关于应用程序设计的技巧。这个应用程序中唯一的安慰是我在 Excel 中获得的数据仅适用于少数选定的脚本,而不是所有非常庞大的脚本。
提前谢谢...
【问题讨论】:
-
查找SqlDependency:msdn.microsoft.com/en-us/library/62xk7953(v=vs.110).aspx
-
或者查看SQL-CLR trigger,它可以用 C# 或 VB.NET 编写,并且存在于 SQL Server 内部,并在给定的操作发生时执行(
INSERT、DELETE,UPDATE)。 小心,但是:触发器应该非常精简和灵活 - 不要不在触发器内进行大量耗时的工作!这会扼杀应用程序的所有性能和可扩展性! -
我不确定我是否理解。是 VBA 代码从流市场数据更新 Excel 文件,然后将数据保存到 SQL,而 SQL 又需要触发一些 C# 代码?为什么不在将数据保存到数据库时让 VBA 调用调用 Web 方法?
-
@Dan.. No VBA 不更新 Excel... 市场数据在 excel 中流式传输,我使用 VBA 将数据保存在 SQL 中,并且是使用数据我需要某种触发器,如建议由 marc_s 通知 .net c# 应用程序。
-
使用 Excel 流式传输市场数据充其量只是一个杂项。您是否考虑过提供流接口的市场数据提供商,您可以使用该接口直接从您的 C# 应用程序订阅和消费?这将提供最佳的可扩展性和稳定性。使用您现有的设计。我认为 SqlDependency 或方法调用是最好的。
标签: .net sql-server winforms performance