3

我有一个基于 Intersystems Caché 数据库的产品,我看不到类、模式、表,只有全局变量。有没有什么聪明的方法可以从这些全局变量中导出数据并获得“人类可读的结构”?

4

7 回答 7

2

第一个问题是……什么版本的 Caché?第二个问题是……您可以使用哪些工具?终端、工作室、管理门户??

如果数据在表/类中,您至少应该能够通过 ODBC 访问它。如果没有任何表/类,则数据可能在 Globals 中。

如果数据在全局(持久稀疏数组存储)中,如果您不习惯常见模式,它们可能看起来有点奇怪。

即使它在 Globals 中,也可以定义具有自定义映射存储的类,以通过 SQL 以类似表格的方式显示它们。

缓存非常灵活,但学习曲线可能很陡峭。:-(

于 2011-02-11T17:08:23.710 回答
2

Intersystems Cache 中的全局变量是无模式的存储类型,因此您可以拥有的最佳“人类可读”格式是 System Management Portal 中的那种。

其他选项有: * 终端中的 zw 命令 * 终端中的 d ^%G 命令

于 2011-02-18T07:41:52.440 回答
1

您是否能够查看 Cache SMP 或使用 Cache Studio 连接到数据库?我认为您会在其中的某个地方找到代码(如果它们不使用类,则至少是一堆例程)。使用 SMP 浏览全局变量是熟悉它们包含的数据集的好方法。在终端会话中,您可以使用 zw 命令查看全局节点内容:

USER> zw ^GlobalName

http://docs.intersystems.com/cache20082/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_czwrite

你能提供更多关于你的情况的信息吗?

于 2011-02-11T02:58:28.330 回答
0

根据全局变量的结构,您可以为它们创建类并编辑存储映射以指向它们。基于此,您可以继续创建报告/(zen/csp)网页以显示内容。但是,根据数据的复杂性,这可能会花费您数小时到数月的时间:/

于 2012-03-24T23:01:23.140 回答
0

ODBC 与缓存一起使用。您可以使用 ODBC 连接将数据导出到另一个结构,例如一组自由表或文本文件。

于 2013-06-25T21:45:32.520 回答
0

我的经验是使用 Navicat Tool 并将数据库 Caché 导出到 MySQL 模式或 Postgres 以了解 DB 模型,使用通过 ODBC 的导入工具。

于 2013-03-11T10:46:44.230 回答
0

您可以使用名为 D ^%GO 的系统实用程序,它是全局输出。您指定全局和要将它们导出到的文件。还有一个 ^%GI 用于从此文件中的全局导入

于 2021-02-19T19:16:04.063 回答