文章
· 六月 26, 2021 阅读大约需 6 分钟
第十九章 使用%XML.TextReader

第十九章 使用%XML.TextReader

%XML.TextReader类提供了一种简单、容易的方法来读取可能直接映射到InterSystems IRIS对象,也可能不直接映射到InterSystems IRIS对象的任意XML文档。具体地说,该类提供了导航格式良好的XML文档并查看其中信息(元素、属性、注释、名称空间URI等)的方法。该类还基于DTDXML架构提供完整的文档验证。但是,与%XML.Reader不同的是,%XML.TextReader不提供返回DOM的方法。如果需要DOM,请参阅前面的“将XML导入对象”一章。

注意:使用的任何XML文档的XML声明都应该指明该文档的字符编码,并且文档应该按照声明的方式进行编码。如果未声明字符编码,InterSystems IRIS将使用前面的“输入和输出的字符编码”中描述的默认值。如果这些默认值不正确,请修改XML声明,使其指定实际使用的字符集。

0 0
0 91
InterSystems 开发者社区汇聚了 17,958 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!

如果您已经使用%UnitTest 框架构建了单元测试,或者正在考虑这样做,请查看InterSystems 测试管理器Test Manager

无需离开 VS Code,您现在可以浏览单元测试、运行或调试它们,并查看之前的运行结果。

InterSystems 测试管理器适用于 ObjectScript 扩展支持的两种源代码位置范例。您的单元测试类可以在 VS Code 的本地文件系统(“客户端编辑”范例)或服务器命名空间(“服务器端编辑”)中掌握。在这两种情况下,实际测试运行都发生在服务器命名空间中。

欢迎反馈。

0 0
0 91
文章
· 六月 28, 2021 阅读大约需 6 分钟
第二十一章 使用%XML.TextReader 导航文档

第二十一章 使用%XML.TextReader 导航文档

导航文档

要在文档中导航,请使用文本阅读器的以下方法:Read()ReadStartElement()MoveToAttributeIndex()MoveToAttributeName()MoveToElement()MoveToContent()Rewind()

导航到下一个节点

要移动到文档中的下一个节点,请使用read()方法。Read()方法返回TRUE值,直到没有更多节点可读为止(即,直到到达文档末尾)。前面的示例在如下所示的循环中使用了此方法:

0 0
0 91
文章
· 八月 31, 2023 阅读大约需 1 分钟
常见问题--如何根据ID重建索引

InterSystems 常见问题解答

通过在持久类(=table)定义中提供的%BuildIndices() 方法的参数中指定要重建索引的 ID 的开始值和结束值,您可以仅重建该范围内的索引。

例如,要仅针对 ID=10 到 20 重建 Sample.Person 类中的 NameIDX 索引和 ZipCode 索引,请执行以下代码(ID 范围在第 5 个和第 6 个参数中指定)。

0 0
0 91

🏆InterSystems开发者社区中文版第二届技术征文大赛🏆(点击链接进入参赛页面,浏览所有参赛文章)获奖名单已公布!

11月24日19:00-20:00,InterSystems开发者社区将举办“InterSystems第二届技术征文大赛线上分享会”,邀请参赛作者进行作品分享&点评、探讨热门话题,同期还将送出多份幸运奖品,欢迎参会!

0 0
0 91

InterSystemsIRIS® 数据平台在性能、分析/搜索和事务等标准中获得最高分

转载自Forester 报告:

InterSystems是一个高性能的数据平台,具有强大的支持和可靠性。InterSystems的IRIS数据平台支持关系型、对象型、文档型、键值型、立方体和多维数组,但它没有原生的图形功能。该平台不需要整合多种技术栈,从而减少了代码、系统资源和维护。客户用它来支持客户分析、物联网、支持AI/ML的应用程序、风险分析和垂直特定的用例,如医疗保健应用程序和洞察力。InterSystems的愿景侧重于一个统一的平台,以支持各种应用和洞察力。该解决方案在性能、分析、搜索和交易方面得分很高。参考客户对InterSystems很满意;一个客户说:"他们的客户支持总是超级好。"另一个客户说他们 "在一个关键任务的应用中使用了10多年,对性能和功能以及可靠性总体上很满意。"

0 0
0 91
文章
· 二月 4, 2021 阅读大约需 5 分钟
第二十四章 Caché 变量大全 $ZA 变量

# <center> 第二十四章 Caché 变量大全 $ZA 变量

包含当前设备上最后一次读取的状态。

# 大纲

```java
$ZA
```

# 描述

`$ZA`包含当前设备上最后一次读取的状态。

不能使用`SET`命令修改此特殊变量。尝试这样做会导致`<SYNTAX>`错误。

# 注意

## `$ZA`,带终端I / O

`$ZA`被实现为一系列位标志,每个位表示一条特定的信息。下表显示了可能的值、它们的含义,以及如何使用模(`#`)和整数除(`\`)运算符测试它们:

0 0
0 90
文章
· 三月 25, 2021 阅读大约需 7 分钟
为什么 COVID-19 对机器学习也有危险? (Part II)

上一部分,现在要利用 IntegratedML VALIDATION MODEL 语句提供信息以监视您的 ML 模型。 您可以在此处观看实际运作。

此处所示代码衍生自 InterSystems IntegragedML 模板IRIS 文档提供的示例,我主要是把代码混合了起来。 这是一个简单的示例,目的是为进一步讨论和未来工作提供一个起点。

0 0
0 90

我们经常收到有关 InterSystems IRIS 数据平台支持的平台和框架列表最近和即将发生的更改的问题。此更新旨在分享最近的变化以及我们对即将发生的变化的当前最佳知识,但预测未来是一件棘手的事情,这不应被视为承诺的路线图。

话虽如此,接下来是更新……

IRIS 生产环境操作系统和 CPU 架构

0 0
0 90
文章
· 十月 16, 2021 阅读大约需 2 分钟
如何使用HL7相應地更新結果參考範圍和異常標誌

在本文中,我將演示以下內容:

  • 使用自定義實用程序函數從數據庫更新 ReferencesRange(OBX:7) 針對 ObservationIdentifier(OBX:3.1)[TestCode]
  • 根據數據庫實用程序函數中的 ObservationIdentifier(OBX:3.1)[TestCode] 和 ObservationValue(OBX:5)[Result] 更新異常標誌 (OBX:8)
  • 基於異常標誌的路由消息 (OBX:8)

以下是主要和轉換後的 HL7 2.5 ORU_R01 消息:

0 1
0 90
文章
· 二月 9, 2023 阅读大约需 5 分钟
第七十一章 使用 REST API 监控 IRIS - 活动量指标

第七十一章 使用 REST API 监控 IRIS - 活动量指标

活动量指标

  • iris_interop_avg_processing_time {id="namespace",hosttype="HostType",host="host",production="production",messagetype="MessageType"} - 在生产和命名空间中处理指定 MessageType 的消息所需的平均时间长度(以秒为单位)。 HostType 可以是服务、操作或参与者(即进程)。 MessageType 是用户定义的;如果未指定 MessageType,则返回“-”。如果输出已配置为包括主机标签,则单独提供每个主机的消息处理时间。
0 0
0 90
文章
· 六月 12, 2021 阅读大约需 6 分钟
第五章 生成XML元素

第五章 生成XML元素

生成XML元素

如果使用RootElement()启动文档的根元素,则负责生成该根元素内的每个元素。有三个选择:

将对象生成为元素

可以从InterSystems IRIS对象生成输出作为元素。在本例中,使用object()方法,该方法写入支持XML的对象。输出包括该对象中包含的所有对象引用。可以指定此元素的名称,也可以使用在对象中定义的默认值。

只能在RootElement()EndRootElement()方法之间使用object()方法。

此示例为给定启用XML的类的所有已保存实例生成输出:

0 0
0 90
文章
· 七月 26, 2021 阅读大约需 3 分钟
类关键字NoExtent,OdbcType,Owner,ProcedureBlock

# <center> 第二十五章 类关键字 - NoExtent

指定是否阻止编译器为此类生成继承类(如果不这样做的话)。

# 用法

要防止编译器为此类生成继承类,请使用以下语法:

```
Class MyApp.MyClass [ NoExtent ] { //class members }
```

否则,省略此关键字或将单词`Not`放在关键字的前面。

# 详解

如果该关键字为真,则该类没有 `extent`。不能创建此类的实例。通常,这样的类会扩展或覆盖从`%Library.Persistent`继承的标准持久接口。

# 对子类的影响

此关键字不是继承的。

# 默认

如果省略此关键字,类可以有一个`extent`。

# <center> 第二十六章 类关键字 - OdbcType

指定通过`ODBC`或`JDBC`公开此数据类型时使用的类型。每个数据类型类都必须指定一个`ODBC`类型。此关键字仅适用于数据类型类。

# 用法

0 0
0 90
文章
· 十月 31, 2021 阅读大约需 2 分钟
第六十二章 SQL命令 OPEN

第六十二章 SQL命令 OPEN

打开游标。

大纲

OPEN cursor-name

参数

  • cursor-name - 游标的名称,已经声明过了。
    游标名称是在DECLARE语句中指定的。
    游标名称区分大小写。

描述

OPEN语句根据游标的DECLARE语句中指定的参数打开游标。
一旦打开,就可以获取游标。
打开的游标必须关闭。

  • 试图打开未声明的游标会出现SQLCODE -52错误。
  • 试图打开已经打开的游标会导致SQLCODE -101错误。
  • 试图获取或关闭未打开的游标将导致SQLCODE -102错误。

成功的OPEN设置SQLCODE = 0,即使结果集是空的。

0 0
0 90
文章
· 十二月 18, 2022 阅读大约需 3 分钟
第十七章 使用系统监视器 - 使用 ^%SYSMONMGR 实用程序

第十七章 使用系统监视器 - 使用 ^%SYSMONMGR 实用程序

^%SYSMONMGR 实用程序可让管理和配置系统监视器。该实用程序可以在任何名称空间中执行,使用它所做的更改只会影响启动它的名称空间。必须通过在该命名空间中执行 ^%SYSMONMGR 来为配置的每个启动命名空间维护单独的系统监视器配置。在对命名空间的系统监视器配置进行任何更改后,必须在命名空间中重新启动系统监视器才能使更改生效。

重要提示:本节中描述的使用 ^%SYSMONMGR 实用程序的所有手动操作都可以使用 %Monitor.Manager API 中的方法以编程方式执行。

要管理系统监视器,请在终端中输入以下命令:

%SYS>do ^%SYSMONMGR

出现主菜单

0 0
0 90

新冠肺炎疫情大流行史无前例地推动着医疗数字化发展,这一进程不仅影响了医疗服务的提供方式,更带来深刻的行业服务模式变革。经济学人邀请了来自数据技术提供商InterSystems、初级医疗服务提供商Babylon、咨询服务提供商埃森哲、数字化医疗解决方案提供商Kaiser Permanente的专家,从各自的领域和观察出发解读多个热点话题。

0 4
0 89
文章
· 五月 25, 2021 阅读大约需 7 分钟
第六章 从POP3服务器提取电子邮件

第六章 从POP3服务器提取电子邮件

从POP3服务器提取电子邮件

与POP3服务器通信

如果拥有所需的权限,并且邮件服务器正在运行,则可以使用POP3协议从该服务器下载和处理电子邮件。通常,要与POP3服务器通信,请登录,执行一系列影响邮箱的操作,然后提交或回滚任何更改。要在系统间IRIS中执行此操作,请执行以下操作:

0 0
0 89
文章
· 五月 26, 2021 阅读大约需 6 分钟
第七章 从POP3服务器提取电子邮件

第七章 从POP3服务器提取电子邮件

将附件另存为文件

Content-Disposition标头可以指定附件,可以带文件名,也可以不带文件名。例如:

Content-Disposition: attachment; filename=genome.jpeg;

如果Content-Disposition标头确实指定了附件,则%Net.POP3实例可以将邮件中的所有附件保存到文件。要实现这一点,请执行以下操作:

0 0
0 89
文章
· 十二月 4, 2021 阅读大约需 4 分钟
第五章 SQL谓词 BETWEEN

第五章 SQL谓词 BETWEEN

大纲

scalar-expression BETWEEN lowval AND highval

参数

  • scalar-expression - 一种标量表达式(最常见的是数据列),将其值与低值和高值(包括高值)之间的值范围进行比较。
  • lowval - 解析为低排序规则序列值的表达式,指定与标量表达式中的每个值匹配的值范围的开始。
  • highval - 解析为高排序规则序列值的表达式,指定要与标量表达式中的每个值匹配的值范围的末尾。

描述

BETWEEN谓词允许选择lowvalhighval指定范围内的数据值。
这个范围包括低值和高值本身。
这等价于一对大于或等于操作符和一对小于或等于操作符。
下面的例子展示了这种比较:

0 0
0 89

第五十三章 管理镜像 - Production自动启动如何在镜像环境中工作

当镜像系统启动时(此时还没有成员成为主故障转移成员):

  1. IRIS 不会启动任何访问镜像数据的生产,即使在 ^Ens.AutoStart 中指定了生产。如果成员成为主实例,则这些产品将在那时开始。
  2. IRIS 确定实例上是否存在不访问镜像数据的命名空间。如前所述, 建议只在镜像成员上安装镜像产品。但是,如果安装了任何带有非镜像数据库的产品, IRIS 将启动 ^Ens.AutoStart 中指定的产品。 (此逻辑确保如果在镜像成员上安装了非镜像命名空间,它会在 IRIS 启动时启动。)

稍后,当该成员成为主要故障转移成员时, IRIS 会找到引用镜像数据的名称空间,以便它可以在这些名称空间中启动生产。如果遵循 的建议,则在实例成为主镜像成员之前,不应运行任何生产访问镜像数据。 IRIS 在开始生产之前首先检查生产是否已经在运行,特别是:

0 0
0 89
文章
· 二月 16, 2022 阅读大约需 5 分钟
第五十六章 SQL函数 $EXTRACT

第五十六章 SQL函数 $EXTRACT

按位置从字符串中提取字符的字符串函数。

大纲

$EXTRACT(string[,from[,to]])

参数

  • string - 要从中提取子字符串的目标字符串。
  • from - 可选-单个字符在目标字符串中的位置,或要提取的字符范围(包括)的开头。
    指定为从1开始计数的正整数。
  • to - 可选-要提取的字符范围的结束位置(包括)。
    指定为从1开始计数的正整数。

描述

$EXTRACT返回字符串中指定位置的子字符串。
返回的子字符串的性质取决于所使用的参数。

0 0
0 89
文章
· 三月 22, 2023 阅读大约需 2 分钟
第五章 镜像概述

第五章 镜像概述

传统的高可用性和数据复制解决方案通常需要在基础架构、部署、配置、软件许可和规划方面进行大量资本投资。 IRIS® 数据库镜像旨在为两个 IRIS 实例之间快速、可靠、强大的自动故障转移提供经济的解决方案,从而提供有效的企业高可用性解决方案。

依赖共享资源(如共享磁盘)的传统可用性解决方案通常容易出现与该共享资源相关的单点故障。镜像通过在主镜像成员和备份镜像成员上维护独立的资源来降低这种风险。此外,通过利用逻辑数据复制,镜像避免了与基于 SAN 的复制等物理复制技术相关的风险,包括无序更新和结转损坏。

将分布式缓存与镜像相结合可提供更高级别的可用性;具有镜像数据服务器的分布式缓存集群中的应用程序服务器将镜像故障转移视为数据服务器重启,允许处理在新的主服务器上继续不间断,这大大减少了工作流和用户中断。在不同的数据中心配置两个故障转移镜像成员可提供额外的冗余并防止发生灾难性事件。

1 0
0 89
文章
· 一月 14, 2021 阅读大约需 7 分钟
使用类投影安装 Caché 应用程序

您好! 本文介绍另一种为基于 InterSystems Caché 的解决方案创建安装程序的简单方法。 主题将涵盖只需一项操作即可安装或从 Caché 中完全删除的应用程序。 如果您仍在编写需要执行多个步骤才能安装应用程序的安装说明,是时候将这个过程自动化了。

0 0
0 89
文章
· 六月 13, 2023 阅读大约需 4 分钟
第五十六章 镜像中断程序 - 计划外停机程序

第五十六章 镜像中断程序 - 计划外停机程序

计划外停机程序

当一个故障转移成员意外失败时,适当的程序取决于哪个 实例失败,镜像所处的故障转移模式(参见自动故障转移机制详述),另一个故障转移成员实例的状态,两个故障转移成员的 ISCAgent 的可用性, 和镜像的设置。

  • 备份故障转移成员的计划外中断
  • 具有自动故障转移的主要故障转移成员的计划外中断
  • 未发生自动故障转移时主要故障转移成员的计划外中断
  • 主要故障转移成员的计划外隔离
  • 两个故障转移成员的计划外中断

在阅读和使用本节时,您能需要查看对各种中断情况的镜像响应,其中讨论了主服务器变得不可用时备份行为的详细信息。

备份故障转移成员的计划外中断

当备份故障转移成员的 实例或其主机系统发生故障时,主要继续正常运行,尽管某些应用程序可能会出现短暂的暂停(有关详细信息,请参阅备份中断的影响)。

当备份发生意外中断时,纠正导致故障的条件,然后重新启动备份实例或主机系统。当备份的 实例重新启动时,它会自动加入镜像作为备份。

1 0
1 89
文章
· 五月 7, 2022 阅读大约需 3 分钟
一个新库引发的血案

我们的一位客户五一期间向使用IRIS搭建的数据流推送一家三甲医院数年的历史数据,导致实施的同事们经历了一系列噩梦,包括但不限与:

1. 由于未通知实施团队有这样规模的数据推送,数据推送过程与全库备份任务重叠。尽管实例和数据流正常运行,但备份任务与数据流争抢IO,导致备份任务不能在预期时间内完成,实施童鞋五一加班处理问题。

2. 为了节省磁盘空间,服务器上部署了定期删除IRIS备份文件的任务,原本能够保持一周的全备+增量备份,但在本次数据暴增的情况下,新的备份尚未完成而旧的全备已被删除,导致问题发生时没有可用于恢复的备份。

3. 由于这次数据推送前未进行数据质量校验,推送的数据全部不合规,但已经历了较长的数据流进行处理全部入库;同时由于备份文件已被删除,无法通过恢复数据库的方法回滚,导致实施童鞋不得不逐条从生产环境三个库的数百张表中挑出问题数据逐一删除,从五一放假结束至今还未完成善后工作。大家可以设想一下,如果备份还在,那么恢复备份就可以了。

因此,我们希望再次提醒各位在前线奋斗的亲们:

1. 善待你的备份。尽管对于大型医院或医疗集团来说,两周的全备+增量备份策略下,备份文件会占据数个TB的存储空间。但在需要回滚时,这几个T的空间能救命。

3 1
0 89