从 Lotus Notes 导出数据:C# 互操作、C、Java 还是 LotusScript?
我即将从 Lotus Notes 数据库导出大量数据,我想知道是否有人可以阐明我在这一点上究竟如何前进。
Notes 有一些某种类型的视图(带有自定义模板的列表?) - 这些视图是保存在 Domino 服务器上的 .nsf 文件中,还是仅用于电子邮件的 .nsf 文件?
如果 .nsf 文件实际上是数据库文件,那么用于从中提取数据的最佳语言/开发包是什么?
I'm about to export a lot of data from a Lotus Notes db, and I'm wondering if anyone can shed any light on how exactly I can move forward on this point.
Notes has some views (lists with custom templates?) of some kind - are these saved in .nsf files on the Domino server, or are the .nsf files for email only?
If the .nsf files are actually the database files, what would be the best language / development pack to use to pull data from them?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您需要在现有 Notes 基础架构和 RDBMS 之间进行全时同步,LEI (Lotus Enterprise Integrator) 或像 Notrix 这样的第三方工具将是您最好的选择——就像定义一个作业和一个计划/触发器一样简单运行它。如果您需要偶尔拉取(或推送)数据的子集,那么 NotesSQL 可能是最简单的方法。如果您不害怕学习 NSF(Notes Storage Facility)的结构,那么 LotusScript/COM API 或 Java/CORBA API 将为您提供更细粒度的控制。
如果您真正需要的是一次性转储所有内容,那么将所有数据注释导出到 DXL (Domino XML) 将为您提供将要获得的数据的最完整版本,并且以一种让您能够以其他方式难以实现的方式恢复和转换格式化的 Notes Rich Text、文件附件等。 DXL 很冗长,所以不要说我没有警告你,但它也相当全面。 (NotesDXLExporter 类的 DOmino Designer 帮助条目中有完全正确的示例代码。)
If you need full-time synchronization between an existing Notes infrastructure and a RDBMS, LEI (Lotus Enterprise Integrator) or a third-party tool like Notrix would be your best bet -- it's as simple as defining a job and a schedule/trigger to run it. If you need to occasionally pull (or push) a subset of the data, then NotesSQL is probably the easiest approach. If you're not afraid of learning the structure of the NSF (Notes Storage Facility), then the LotusScript/COM API or the Java/CORBA API would give you finer-grained control.
If what you really need is a one-time dump of everything, then exporting all of the data notes to DXL (Domino XML) would give you the most complete version of the data you're going to get, and in a way that would let you recover and convert formatted Notes Rich Text, file attachments, and so on in a way that would be incredibly difficult to achieve otherwise. DXL is verbose, so don't say I didn't warn you, but it is pretty comprehensive as well. (The DOmino Designer Help entry on the NotesDXLExporter class has example code that is exactly on point.)
这完全取决于您熟悉哪种语言。
如果您很了解 LotusScript,那么这将是我的第一选择,因为它与平台的集成度最高。
如果您不太了解 LotusScript,但您非常了解 C#/Java/C...那么使用这些 API 中的任何一个都不会有任何问题(并且它们都应该能够像出色地)。
It all depends on what language you're familiar with.
If you know LotusScript well, then that would be my first choice since it's the most integrated with the platform.
If you don't know LotusScript that well, but you know C#/Java/C really well...then you shouldn't have any trouble using any of those APIs (and they should all be able to get the job done equally as well).
在 Lotus Notes Domino 中,所有数据都存储在 .nsf 文件中。对于所有 Notes 数据库都是如此,而不仅仅是电子邮件。数据全部存储在文档中,这些文档基本上是包含值的命名字段的集合。视图只是根据特定标准索引和显示文档集合的简单方法。视图还可以根据文档中字段的值计算值。
Notes LotusScript 和 Java API 本质上是相同的,并且是以编程方式访问数据的最简单方法。 C API 的级别要低得多,对于这种事情可能有点过分了。
In Lotus Notes Domino all the data is stored in the .nsf files. This is true for all Notes databases, not just email. The data is all stored in documents which are basically collections of named fields containing values. The views are simply ways of indexing and displaying collections of documents based of specific criteria. The views can also calculate values based on the value of a field in the documents.
The Notes LotusScript and Java APIs are essentially identical and would be the simplest way to programmatically access the data. The C API is much lower level and probably overkill for this kind of thing.
如果您想创建 ODBC 连接,您可以查看 NotesSQL到 NSF 文件以将数据提取到 SQL 或 Access 中。如果所有数据都包含在视图中,您只需选择所有文档并单击“编辑”>“编辑”即可。将所选内容复制为表并粘贴到 Excel 中。
回答您的其他问题:Notes 视图与 SQL 视图类似 - 本质上是对 NSF 中存储的数据的查询。 NSF 文件在一个文件中包含应用程序的数据和结构。
You could look at NotesSQL, if you want to create an ODBC connection to an NSF file to pull data into SQL or Access. If all the data is contained within the view you could simply select all the documents and click Edit > Copy Selected As Table and paste into Excel.
To answer your other questions: Notes views are similar to SQL views - essentially a query on the data stored within the NSF. NSF files contain both the data and the structure of the application in one file.