问题标签 [intersystems]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
113 浏览

vb.net - 使用 VisM 输出 GLOBAL 列表或单个 GLOBAL 值

我通过添加对 VisM.ocx 的引用并将其作为 activeX 控件添加到我的工具箱中,将 VisM 控件添加到 vb.net 中。

我在按钮中添加了以下代码:

从这里,我需要从名为的 GLOBAL 中输出变量^BACKTR("INDX","COMPANY",

如何将此 GLOBAL 中的所有/某些变量输出到列表、数据表或单个变量中?我所需要的只是在 VB.net 中访问它,然后我可以在我的项目中使用上述 GLOBAL。即使输出是原始的,我也会接受(不在列或任何内容中,即:^BACKTR("INDX","COMPANY",1,63572,9792) = "" 因为我已经可以在我的应用程序中使用数据

0 投票
2 回答
141 浏览

intersystems-cache - 使用 ObjectScript 或 VisM 以编程方式查看 GLOBALS

我的任务是获取全局数据中所有节点的列表,特别是所有如下所示的数据^BACKTR("INDX","COMPANY",,,)

我只需要节点,而不是本身。有没有办法以编程方式获取此列表?我尝试使用 VisM 控件通过 VB.net 中的此代码导出全局变量的整个 xml:

AxVisM1.Code = "do $system.OBJ.Export(""BACKTR.GBL"",""C:\Users\Support\Desktop\global.xml"")"

但是,这会创建一个 xml 文件,其中包含 BACKTR 下的所有节点。我只需要类似的节点^BACKTR("INDX", "COMPANY",,,)

是否有我可以用来输出该列表的 objectscript 语法?还是我应该求助于使用 XML?我只需要它的对象脚本语法,因为无论如何我都可以在 VisM 中执行代码

0 投票
1 回答
53 浏览

vb.net - 如何使用 VisM 更改 GLOBAL 节点的值?

我可以通过 VB.net 访问 VisM,并且可以使用它查询 GLOBAL 节点。但是,假设我有一个看起来像这样的节点,

我怎样才能把价值换成38499别的东西?像更新?

0 投票
2 回答
358 浏览

intersystems-cache - SQL 语句中的 MUMPS $Functions

可以在 SQL 语句中使用 $Extract、$P 等 $Function 吗?如果可以,请提供示例。例如从 MyTable 中选择 $P(Field1,"*")。这将返回一个错误,提示“预期以...开头的术语”

0 投票
2 回答
144 浏览

intersystems-cache - 系统间缓存脚本字符限制

发送命令的字符限制(字符数)是多少,我该如何更改?

如果我运行一个长命令,它不会完全发送,并且在字符串的末尾附加了一个“S”(并且字符串被切断)所以有没有办法改变/查看我们可以发送多少个字符?

脚本:

发送: Set tSql="SELECT count(*) AS cc FROM table WHERE id IN ('1111111111','1111111112','1111111113','1111111114','1111111115','1111111116','1111111117','111111118 ,'111111119','111111120','111111121','111111122','111111123','1111111124','1111111125','1111111126','111111126','11111111127' 1111111131','1111111132','1111111133')"

这是我在缓存终端中得到的:

Set tSql="SELECT count(*) AS cc FROM table WHERE id IN ('1111111111','1111111112','1111111113','1111111114','1111111115','1111111116','1111111117','111111118', 111111119','11111110','111111121','111111122','111111123','1111111124','1111111125','1111111126','111111126','11111111127'

如您所见,命令后附加了一个 S,这最终会导致语法错误

0 投票
2 回答
146 浏览

c# - 名称类似的系统间缓存 C# 查询?

我正在尝试在 Cache sql 查询中使用 like:

我正在传递如下参数。

然后我执行阅读器。

结果什么都没有。我知道在 MSSQL 中我使用像“Lawson%”这样的名称。如何在缓存查询中执行此操作?

TIA 迈克

0 投票
1 回答
119 浏览

caching - InterSystems Cache 类导出

我正在处理一个需要获取 .cls 文件内容的项目。我知道如何获取 .xml 文件,但是我需要包含所有注释和其他内容的确切代码。我找到了一个类 %Dictionary.ClassDefinition ,它可以给出类名和属性。但是有没有办法获得原始类代码。

0 投票
2 回答
232 浏览

intersystems-cache - 系统间缓存:嵌入 SQL 始终只返回第一行

我从off复制了代码。文档:

但由于某种原因,它只返回第一行的所有字段,没有别的。这是一个错误,还是我做错了什么?

0 投票
2 回答
804 浏览

sql - 缓存迁移

下面的 URL 提供了有关如何从 sql 迁移到缓存的见解。

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

是否可以反向执行相同的操作 - 将数据库缓存到 SQL 数据库?我想将 Ensemble 与 SQL 数据库一起使用。如果我需要使用 SQL 数据库迁移缓存数据库,可能会产生什么开销。

0 投票
1 回答
197 浏览

scripting - 系统间缓存命令在手动写入文件并执行时成功,但在通过脚本构建时不成功

如果 Intersystems Cache DB 专家能够解决这个问题,那就太好了:

我通过在 RHEL linux 上从 VI 编辑器手动编辑文件创建了一个脚本,并在 CACHE DB 上运行该文件,所有命令都成功运行。批处理脚本是:

成功的输出:

现在,当我尝试通过另一个主脚本(回显命令)创建这样的脚本并运行它时,相同的命令失败并显示语法错误。我的主要脚本是:

内容get_count

所以那里的一切看起来都很好。然而query_result节目显示:

单独运行时的每个命令get_count也可以正常工作。那么为什么会出现语法错误呢?