在我的场景中,我必须从 sql server 中提取数据并将其迁移到 sharepoint 中,一旦将记录输入到数据库中,我必须运行执行迁移过程的控制台应用程序,我的客户给了我他想要的严格要求数据在输入数据库时立即被迁移。
有两种可能的方法,我认为这个任务可以通过
1 安排控制台应用程序每 1 分钟运行一次
2 数据库池(我只听说过这个东西,你们能帮我参考互联网上与这种方法相关的文章和其他材料吗)
那么你们怎么看,我应该选择哪种方法?
在我的场景中,我必须从 sql server 中提取数据并将其迁移到 sharepoint 中,一旦将记录输入到数据库中,我必须运行执行迁移过程的控制台应用程序,我的客户给了我他想要的严格要求数据在输入数据库时立即被迁移。
有两种可能的方法,我认为这个任务可以通过
1 安排控制台应用程序每 1 分钟运行一次
2 数据库池(我只听说过这个东西,你们能帮我参考互联网上与这种方法相关的文章和其他材料吗)
那么你们怎么看,我应该选择哪种方法?
.NET 有一个 SQL 通知
,它比轮询更有效
使用 SqlNotificationRequest 订阅查询通知
你确定控制台应用程序是正确的方法吗?
视为服务。
还可以按照 Joe 的建议考虑 SISS。
我可能会研究一个进行迁移的 SSIS 包,并可能在插入表时从触发器执行它。这样就没有延迟,一切都在一个地方完成。
我不完全知道你是如何做到这一点的——不是 SSIS 的人——但我知道这是可以做到的。
如果迁移需要很长时间才能执行,或者如果记录很快插入到数据库中,这可能不是一个好主意,因为它们的插入速度可能比迁移速度快。如果是这种情况,一个批量提取新记录的计划作业肯定是要走的路 - 要么是不断运行并使用计时器触发事件的 Windows 服务,要么是每 x 分钟运行一次的 Windows 计划任务,或每 x 分钟运行一次的 SQL Server 作业 - 到那时,您选择哪个并不重要。