【问题标题】:Replicate data from Lotus Notes to MSSql将数据从 Lotus Notes 复制到 MSSql
【发布时间】:2017-06-28 10:18:23
【问题描述】:

我有 Lotus Notes 应用程序,很多人在这个应用程序中插入数据。 由于不同的原因,我需要将这些数据也复制到 MSSql 数据库中,以供其他程序使用。

目前,我们使用导出数据到 excel 并将它们插入到 MSSql 数据库,但这有一些缺点。首先我们每天都导出到 excel,所以 MSSql 数据库中的数据不是最新的。其次是需要人工。

我的任务是解决这个问题。我可能会实现自动创建导出然后导入到 MSSql 的作业,但我正在寻找是否有办法在这两个数据库之间复制数据。

有人有这方面的经验吗?最好的解决方案是复制数据库。第二个最佳解决方案是在数据存储在 Note 数据库中时捕获触发器。我读到Notes 使用Java。有谁知道当数据存储到数据库时是否可以捕获触发器。

我正在使用 Lotus Notes 8.5

【问题讨论】:

  • 也许您根本不需要复制 - 似乎可以创建一个链接服务器:Linked Lotus Notes database to SQL Server 2012 以使您的 Lotus Notes 数据可以在 SQL Server 中访问。
  • 嗨,菲尔伯特。谢谢你的回复。我会试试这个,但乍一看,在我看来这不是我需要的东西。我的问题是我有两个已经实现的系统。一种是Notes,另一种是在SQL Server 数据库中使用(已经创建)的表。所以理想情况下是将数据复制到数据库中的相同表中。
  • 如果您坚持复制(更改的)数据,请将SSIS 添加到混合中并使用ootb SDC(或生成的MERGE statement)来提取更改的数据。这将为您提供高度可靠的自动化流程。

标签: sql-server database excel lotus-notes lotus


【解决方案1】:

我只是要回答你的最后一个问题。其余的实在是太宽泛了。在 Notes/Domino 数据库和 MS SQL Server 或几乎任何其他数据库之间同步数据的方法有很多。有很多第三方产品可以做到这一点

但现在我要回答这个问题:第二个最佳解决方案是在数据存储在 Note 数据库中时捕获触发器。我读到Notes 使用Java。 有谁知道当数据存储到数据库时是否可以捕获触发器。*

答案是肯定的,你可以抓住一个触发器。有一组称为Extension Manager 的Notes C API 例程专门为此而设计。 C API 相当复杂,需要深入了解 Notes 编程,而 EM 例程又增加了一层复杂性。不过幸运的是,在 OpenNTF 站点上有一个名为 Trigger Happy 的开源项目,它为您提供了扩展管理器例程所需的代码,该例程可以在捕获 NSFNoteUpdate 事件时调用 Java 代理。

但是,请注意,即使对 Notes 有一点经验的人都已经知道它支持 Java,所以我怀疑您对此很陌生。 Trigger Happy 使这项任务比编写您自己的 Extension Manger 例程容易得多,但它并不能让您摆脱必须学习大量有关 Notes 和 Domino 的知识才能完成这项工作 - 包括大量学习如何使用 Notes Java API 并至少了解 Extension Manager 如何工作以及它可以捕获的事件的基础知识。

即使使用 Trigger Happy,我仍然建议您使用以前做过此类事情的人的服务。它将在您的服务器上捕获事件并在您的服务器上运行代码。如果做得不好,这很容易使您的服务器变慢(很多!)甚至崩溃。

【讨论】:

  • 谢谢您的回复。是的,我们对 Note 真的很陌生,但是我们对数据库、复制有丰富的知识……但是 .nsf 数据库现在适合我们。我发现它有一个 ODBC 驱动程序。我将首先尝试使用这个和第 3 方产品进行复制。你有什么建议吗?
  • IBM 有自己的产品,称为 Enterprise Integrator。 www-03.ibm.com/software/products/en/ibmenterpriseintegrator Casahl 有一个名为 ecKnowlege 的产品。 casahl.com/dart-product-suite/ecknowledge Percussion 有一款名为 Notrix 的产品。 percussion.com/products/notrix 还有一些我暂时不记得了。如果您在 google 中输入“lotus notes etl”,您会在“提取/转换/加载”类别中找到对各种产品的参考,这些产品也可能对您有所帮助。
【解决方案2】:

在我们公司,我们也有类似的要求......

所以我每天都会删除数据库表,创建一个新的并填写我们员工目录的数据。

我编写了一个每天定期运行的笔记代理。我使用 ADODB 作为 COM-Object 来访问数据库。遍历员工文档会为每个员工创建一个“插入...”命令。

也许这些提示指向正确的方向。

Greetz,马库斯

【讨论】:

    【解决方案3】:

    这就是 DECS 所做的……双向瞬时同步……

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多