全部时间
文章
· 三月 19, 2021 阅读大约需 11 分钟
第十二章 使用嵌入式SQL(三)

第十二章 使用嵌入式SQL(三)

主机变量

主机变量是将文字值传入或传出嵌入式SQL的局部变量。 最常见的是,主机变量用于将本地变量的值作为输入值传递给Embedded SQL,或者将SQL查询结果值作为输出主机变量传递给Embedded SQL查询。

主机变量不能用于指定SQL标识符,例如架构名称,表名称,字段名称或游标名称。主机变量不能用于指定SQL关键字。

  • 输出主机变量仅在嵌入式SQL中使用。它们在INTO子句中指定,INTO子句是仅嵌入式SQL支持的SQL查询子句。
  • 输入主机变量可以在嵌入式SQL或动态SQL中使用。在动态SQL中,还可以使用“?”向SQL语句输入文字。输入参数。这 ”?”语法不能在Embedded SQL中使用。

在嵌入式SQL中,可以在可以使用文字值的任何位置使用输入主机变量。使用SELECT或FETCH语句的INTO子句指定输出主机变量。

0 0
0 162
InterSystems 开发者社区汇聚了 25,783 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
文章
· 三月 18, 2021 阅读大约需 6 分钟
第十二章 使用嵌入式SQL(二)

第十二章 使用嵌入式SQL(二)

嵌入式SQL代码

简单的SQL语句

可以将简单的SQL语句(单个嵌入式SQL语句)用于各种操作,包括:

  • INSERTUPDATEINSERT OR UPDATEDELETE语句。
  • `DDL语句。
  • GRANTREVOKE语句。
  • 只返回一行的SELECT语句(或者如果只对返回的第一行感兴趣)。

简单的SQL语句也被称为非基于游标的SQL语句。本章稍后将介绍基于游标的嵌入式SQL。

例如,以下语句查找ID为43的(唯一的)患者的姓名:

 &sql(SELECT Name INTO :name
    FROM Patient
    WHERE %ID = 43)

如果对可以返回多行的查询使用简单语句,则只返回第一行:

0 0
0 162

欢迎来到我的 CI/CD 系列的下一个章节,我们将探讨使用 InterSystems 技术和 GitLab 进行软件开发可以采用的几种方式。

今天,我们来谈谈互操作性。

问题

当您有一个有效的互操作性生产时,您有两个独立的流程:一个是处理消息的可以正常运行的生产流程,另一个是更新代码、生产配置和系统默认设置的 CI/CD 流程。

显然,CI/CD 流程会影响互操作性。 但问题是:

  • 更新期间究竟发生了什么?
  • 我们需要做些什么以在更新期间尽可能缩短或消除生产停机时间?
0 0
0 161

第六十三章 开发Productions - ObjectScript Productions - 部署Production - 在目标系统上部署Production

管理门户自动执行将Productions从开发系统部署到实时系统的过程。本节介绍当在实时系统上加载Productions的新版本时,IRIS 会执行哪些操作。

获得部署包 XML 文件后,可以将其加载到目标系统上。在管理门户中,选择正确的命名空间并单击互操作性、管理、部署更改、部署,然后单击打开部署或打开本地部署按钮,具体取决于 XML 部署包位于服务器上还是本地计算机上。如果位于服务器计算机上,则“打开本地部署”按钮不处于活动状态。选择 XML 部署包文件后,表单会列出部署包中的新项和更改项,显示创建包时指定的部署说明,并允许指定以下部署设置:

0 0
0 161
文章
· 一月 28, 2023 阅读大约需 3 分钟
第五十九章 使用 ^PERFSAMPLE 监控进程 - 收集样本

第五十九章 使用 ^PERFSAMPLE 监控进程 - 收集样本

本主题介绍 ^PERFSAMPLE 实用程序,这是一种用于分析 IRIS® 数据平台流程的工具。该实用程序处理实时系统上的活动,并呈现采样活动的易于导航的细分,这可以提供对系统的洞察力。例如,可以通过检查 ECP 请求来发现应用程序瓶颈,或者通过查看等待事件的类型来识别整个系统的瓶颈。

要开始,请从感兴趣的 IRIS 实例上的 %SYS 命名空间运行 ^PERFSAMPLE

USER>set $namespace = "%SYS"

%SYS>do ^PERFSAMPLE

Collecting Samples

运行^PERFSAMPLE后,立即显示以下消息:

0 0
0 161
文章
· 九月 1, 2022 阅读大约需 5 分钟
第十九章 维护本地数据库(四)

第十九章 维护本地数据库(四)

压缩数据库中的全局变量

管理数据库空间的另一种方法是使用 ^DATABASE 例程压缩数据库中的全局变量。压缩全局变量将全局数据合并到更少的块中,从而增加数据库中的可用空间量。

在创建和更新全局变量时 IRIS 通常以将全局块填充到大约 70% 容量的方式分配数据。 (完全按整理顺序增长的全局可能会分配到接近 90%。)通常,允许 IRIS 自动管理全局块密度就足够了。然而,一些不连续的数据删除模式可能会显着降低平均全局块密度。

注意:要逐个全局地查看数据库中全局块的当前密度,可以运行完整性检查、并检查每个全局的数据级别输出。

压缩全局变量时,指定所需的全局块密度(默认为 90%),操作会尝试通过合并数据来尽可能接近此值——例如,将分布在三个块中的全局数据重新排列为两个。通常(但并非总是),压缩全局变量会显着增加数据库中可用的可用空间。 (如果指定的目标密度低于数据库当前的全局块密度,则数据库的大小不会增加。)

要压缩数据库中的全局变量,请使用以下过程:

0 0
0 161
文章
· 三月 24, 2022 阅读大约需 3 分钟
创建REST 服务

REST是一种架构风格,而不是一种格式。尽管REST经常使用HTTP来传输消息,使用JSON来传递数据,但你也可以用XML或纯文本来传递数据。REST利用了现有的网络标准,如HTTP、URL、XML和JSON。

虽然它可以使用XML来描述数据,但它更常使用JSON,这是一个轻量级的数据封装器。

InterSystems REST服务

InterSystems REST服务由以下组件组成:

规范类(%REST.Spec的一个子类):这个类包含了REST服务的OpenAPI 2.0规范(Swagger)。InterSystems支持几个扩展属性,你可以在规范中使用。

调度类(%CSP.REST的一个子类):这个类负责接收HTTP请求并在实现类中调用合适的方法。

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

第五章 SQL谓词 BETWEEN

大纲

scalar-expression BETWEEN lowval AND highval

参数

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

描述

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

0 0
0 161
文章
· 二月 13, 2023 阅读大约需 3 分钟
何时使用列存储

在 InterSystems IRIS 2022.2 中,我们引入了列存储作为持久化 IRIS SQL 表的新选项,可以将您的分析查询性能提高一个数量级。该功能在 2022.2 和 2022.3 中标记为实验性,但将在即将发布的 2023.1 版本中“升级”为完全支持的生产能力。

产品文档和这个介绍性视频已经描述了行存储(仍然是 IRIS 上的默认设置并在我们的整个客户群中使用)与列表存储之间的区别,并提供了有关为您的用例选择合适的存储布局的高级指导。在本文中,我们将详细阐述这个主题,并根据行业实践建模原则、内部测试和抢先体验计划参与者的反馈分享一些建议。

0 0
0 160

第二十六章 使用系统监视器 - 使用 ^%SYSMONMGR 管理应用程序监视器

如使用 ^%SYSMONMGR 实用程序中所述,^%SYSMONMGR 实用程序允许管理和配置系统监视器,包括应用程序监视器。该实用程序可以在任何名称空间中执行,使用它所做的更改只会影响启动它的名称空间。必须通过在该命名空间中启动 ^%SYSMONMGR 来为配置的每个启动命名空间维护单独的应用程序监视器配置。

注意:在对应用程序监视器配置进行任何更改(例如激活类)之后,必须在进行更改的名称空间中重新启动系统监视器以使更改生效。

要管理应用程序监视器,请在终端中输入以下命令:

%SYS>do ^%SYSMONMGR

然后为管理应用程序监视器输入 5。显示以下菜单:

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

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

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

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

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

%SYS>do ^%SYSMONMGR

出现主菜单

0 0
0 160
文章
· 十二月 17, 2022 阅读大约需 3 分钟
第十六章 使用系统监视器 - 系统监视器默认值

第十六章 使用系统监视器 - 系统监视器默认值

系统监视器默认值

System Monitor 调用一组提供的可以扩充的类,在 %SYS 命名空间中运行,并在三个可以更改的默认设置下运行。

默认系统监视器组件

IRIS 提供了五个类,默认情况下在 %SYS 命名空间的系统监视器中配置。

Sensor classes:

  • SYS.Monitor.SystemSensors

系统传感器类获取传感器值传递给配置的订阅者类,包括系统监控订阅者(SYS.Monitor.SystemSubscriber)和健康监控订阅者(SYS.Monitor.Health.Control)。

0 0
0 160
文章
· 九月 20, 2022 阅读大约需 2 分钟
在虚拟化环境中使用镜像的注意事项

在虚拟化环境中使用镜像,构成镜像的InterSystems IRIS实例被安装在虚拟主机上,创造了一个混合的高可用性解决方案,将镜像的优点与虚拟化的优点结合起来。镜像通过自动故障切换对计划内或计划外的故障提供即时响应,而虚拟化HA软件在计划外的机器或操作系统故障后自动重新启动承载镜像成员的虚拟机。这允许失败的成员迅速重新加入镜像,充当备份(或在必要时作为主机)。

当镜像被配置在虚拟化环境中时,请参考以下建议:

1 0
0 160

InterSystems Production 监控是管理门户中的一个页面,用于显示当前运行的Production监控信息。我喜欢这个页面的样子,但这并不适合所有人。

2022年5月13日,我在开发者社区上看到这个帖子。

https://community.intersystems.com/post/creating-custom-monitoring-page

我同意马克的观点,Production监控很复杂。我想创建一个更漂亮干净的监控页面。

我开始着手制作一个利用类方法提供Production数据的 CSP(Cache Server Page)页面。

我与马克分享了我的第一次尝试。他根据自己的想法定制了这个页面。我喜欢他对页面的布局,使其在视觉上更有吸引力。我把他的设计整合到我的应用程序Production监控中。

我看到马克对业务服务的显示进行了过滤,只显示需要注意的服务。他在页面的底部添加了服务器的名称和它的镜像状态。

0 0
0 160

此文章也是对问题 在不重建的情况下插入索引Inserting an index without reconstruction 的一种解释

在使用SQL语言对 InterSystems IRIS 中的表进行查询时,有时候会发现返回的结果与实际有出入,特别是使用count() 函数,或者select 查询时,返回的结果少于实际应返回的值。
这种情况往往是由于数据表格的索引值出了问题。

索引出问题的主要原因可能是:

  • 表中先有数据,后创建的索引定义,并且定义之后没有重新生成索引。
  • 对保存数据的global直接操作。如果是使用对象或者sql的方式操作数据,相应的索引都会自动更新,但是如果直接对global操作,则不会自动更新索引。
  • 对保存索引的global直接操作。

要解决或者要检查是不是索引引发的问题,可以使用%ValidateIndices()函数,它有两种方式使用

0 0
0 160
文章
· 五月 9, 2021 阅读大约需 6 分钟
第四章 多维存储的SQL和对象使用(一)

第四章 多维存储的SQL和对象使用(一)

本章介绍InterSystems IRIS®对象和SQL引擎如何利用多维存储(全局变量)来存储持久对象、关系表和索引。

尽管InterSystems IRIS对象和SQL引擎会自动提供和管理数据存储结构,但了解其工作原理的详细信息还是很有用的。

数据的对象视图和关系视图使用的存储结构是相同的。为简单起见,本章仅从对象角度介绍存储。

数据

每个使用%Storage.Persistent存储类(默认)的持久化类都可以使用多维存储(全局变量)的一个或多个节点在InterSystems IRIS数据库中存储其自身的实例。

每个持久化类都有一个存储定义,用于定义其属性如何存储在全局变量节点中。这个存储定义(称为“默认结构”)由类编译器自动管理。

0 0
0 160
问题
· 二月 27, 2024
InterSystems IRIS Internal Failure
02/21/24-18:32:48:515 (7568) 3 InterSystems IRIS Internal Failure

Access Violation (0xC0000005) occurred at 00007FFF3DE9C4E8
Process = 00001D90 Thread = 0000203C
Exception Count=1 b_msyslog=0 b_DumpVar=0 b_DumpVar2=0
b_GRelease=0 b_GRelease2=0 b_DeqRes=0 b_DeqRes2=0
Job Type = CSP server
ContextFlags = 0010005F Registers:
RAX=00007FFF3DE9C4E8 RBX=000000C2E5554800 RCX=000000C2E7AFFC00
RDX=000000C2E7B00000 RSI=00000000FFFFFFC0 RDI=00000000000003FF
RSP=000000C25CEBD2F8 RBP=0000000000000000 R8 =0000000000000001
R9 =00007FFF3DE60000 R10=000000C2E7AFFC00 R11=000000C2E7AFFC00
0 1
0 158
文章
· 四月 20, 2023 阅读大约需 3 分钟
第三十四章 配置镜像 - 在镜像中激活日志加密

第三十四章 配置镜像 - 在镜像中激活日志加密

在镜像中激活日志加密

在镜像成员上激活日志加密时,请记住三个重要的注意事项:

  • 不能在故障转移成员和 DR 异步上激活日志文件加密,除非镜像需要 TLS 安全性。
  • 如果在主服务器上激活了日志加密,则必须在属于镜像的任何报告异步上激活它。此外,最佳做法是在备份和任何 DR 异步上激活日志加密,以便在发生故障转移或 DR 升级时日志加密将继续有效。
  • 故障转移成员和 DR 异步之间的日志加密要求在一个成员上用于日志加密的加密密钥在其他成员上被激活(尽管不一定用于日志加密),以便根据需要用于解密收到的日志文件。具体来说,

0 0
0 159
文章
· 二月 28, 2023 阅读大约需 3 分钟
用一个命令设置您的 InterSystems FHIR 服务器

嗨,InterSystems 开发人员!

最近我更新了FHIR 开发模板,它发布了一个 IPM 包fhir-server ,使 InterSystems FHIR 服务器的设置成为一个微不足道的手动或自动或编程的程序,只需一条命令。

请参阅下文,了解如何从中受益。

TLDR

USER>zpm "install fhir-server"

以下所有详细信息。

1 0
0 159
文章
· 七月 21, 2022 阅读大约需 7 分钟
精华文章系列 DeepSee 的开发 - 第一部分 - Cube

创建一个透视表

  1. 在模型内容窗格中展开DiagD维度。
  2. 将Diagnoses拖放到行中,或者双击诊断。
  3. 将Patient Count(病人计数)拖放到Measure(度量)中,或双击病人数。
  4. 将 Avg Age(平均年龄) 拖至Measure(度量),或双击 "平均年龄"。
  5. 单击保存。 系统显示一个对话框,你可以指定透视表的名称。 保存透视表并给它一个名字。当你这样做时,你是在保存检索数据的基础查询,以及以你选择的方式显示数据所需的信息。你不是在保存数据。
  6. 对于文件夹,键入Test
0 0
0 159