#InterSystems IRIS

0 关注者 · 929 帖子

InterSystems IRIS 是一个完整的数据平台
InterSystems IRIS 为您提供了捕获、共享、理解组织最宝贵的资产(数据)并采取相应行动所需的一切。
作为一个完整的平台,InterSystems IRIS 不需要集成多种开发技术。应用程序需要更少的代码、更少的系统资源和更少的维护。

文章 Michael Lei · 十一月 20, 2023 2m read

这是Java 编程比赛的相关文章。
我决定推出一个基于 IRIS Native API for Java 的 CRUD++  Global编辑器。
++因为它不仅仅是C reate、 R ead、 U pdate、 D elete
Global可视化对于立即查看结果始终很重要。

  • 为此,我使用模仿 ZWrite 的树查看器扩展了 API,并且还允许检查子树。
  • $Query Style Navigator 正向和反向操作可轻松找到感兴趣的全局节点。
  • 最后,ZKill 添加了一个选项,可以删除全局节点的内容而不删除下面的子树。

这需要在服务器端有一个小的帮助器类作为默认 API 的扩展

我的策略是拥有一个可从命令行使用的相当适度的界面
就像在 Docker 控制台或终端上一样,并使其尽可能简单。
花哨的图形界面只会分散示例的基本内容。

如果有任何默认值或先前的值,则会在输入提示中显示。
在 Docker 容器中,编辑器已经可以使用了。

  • docker-compose exec iris java gedi docker-compose exec iris java gedi

您首先连接到服务器

欢迎使用 IRIS NativeAPI 全局编辑器

>>> 服务器IP [127.0.0.
0
0 165
公告 Hao Ma · 十一月 14, 2023

我们最近发布了一份关于在镜像环境中使用报告节点(完整的“异步报告镜像成员”)的新白皮书。越来越多的客户正在研究这种机制,将其作为一种快速、简单的方法来设置保持最新的生产数据副本,但可以用于分析查询或重型报告工作负载,而不影响源系统。 请在此处阅读白皮书

与往常一样,我们很想听听您对如何在组织中使用此镜像选项的反馈,以及您是否对我们如何提高其效率有想法。

0
0 89
文章 姚 鑫 · 五月 20, 2021 9m read

第一章 发送HTTP请求

本主题介绍如何发送HTTP请求(如POSTGET)和处理响应。

HTTP请求简介

可以创建%Net.HttpRequest的实例来发送各种HTTP请求并接收响应。此对象相当于Web浏览器,可以使用它发出多个请求。它会自动发送正确的cookie,并根据需要设置Referer标头。

要创建HTTP请求,请使用以下常规流程:

  1. 创建%Net.HttpRequest的实例。
  2. 设置此实例的属性以指示要与之通信的Web服务器。基本属性如下:
  • 服务器指定Web服务器的IP地址或计算机名称。默认值为localhost

注意:不要将http://https://作为服务器值的一部分。这将导致错误#6059:无法打开到服务器http:/的TCP/IP套接字

  1. 可以选择设置HTTP请求的其他属性和调用方法,如指定其他HTTP请求属性中所述。
  2. 然后,通过调用%Net.HttpRequest实例的get()方法或其他方法来发送HTTP请求,如“发送HTTP请求”中所述。

可以从实例发出多个请求,它将自动处理cookie和Referer标头。

注意:如果创建此HTTP请求是为了与生产出站适配器(EnsLib.HTTP.Outbound Adapter)一起使用,那么请改用该适配器的方法来发送请求。

  1. 如果需要,使用%Net.HttpRequest的同一实例发送其他HTTP请求。
1
0 357
公告 Michael Lei · 十月 24, 2023

终止对 CentOS 的支持

自 InterSystems IRIS 2023.3 发布起,CentOS 将不再是受支持的开发平台。

CentOS 一直是一个受支持的开发平台,为开发人员提供了相当于 Red Hat Enterprise Linux (RHEL) 的免费版本,用于 IRIS 开发。您可能知道,Red Hat 对 CentOS 进行了重大更改,CentOS 已成为 RHEL 的“上游”。这意味着它具有 RHEL 中尚未包含的错误和功能,这可能会给在该平台上构建的开发人员带来问题。

我们鼓励使用 CentOS 的开发人员利用 Red Hat 的免费开发人员计划来获得 RHEL 的免费开发许可证。

CentOS 继续支持 IRIS 2023.2(及更早版本)。

0
0 162
文章 Louis Lu · 十月 19, 2023 3m read

对于经常进行插入、删除操作的表,位图索引的存储往往会变得不那么高效。

例如,下面定义的表,经常进行大数量的删除操作 (TRUNCATE TABLE)

Class MyWork.MonthData Extends (%Persistent, %Populate)
{
    /// Level of satisfaction
    Property Satisfaction As %String(VALUELIST = ",満足,やや満足,やや不満,不満,");
    /// Age
    Property Age As %Integer(MAXVAL = 70, MINVAL = 20);

    Index AgeIdx On Age [ Type = bitmap ];
}

对该表进行插入操作后,索引表存储的内容为:

【INSERT】
^MyWork.MonthDataI("AgeIdx",20,1) = $zwc(401,120,4,75,102,10,<omit> 958)/*$bit(5,76,103,107・・・
^MyWork.MonthDataI("AgeIdx",21,1) = $zwc(407,121,29,178,251,2<omit>,732,772,898,960)/*$bit(3・・・
^MyWork.
0
0 106
文章 Louis Lu · 十月 19, 2023 1m read

使用(^GLOBUFF )可以获取到使用的数据库缓存global buff的大小,

可以直接执行这个命令或者通过代码的方式获取结果

下面是执行命令的方式:

USER>zn "%SYS"
%SYS>do ^GLOBUFF
Find which globals are using the most buffers.
 
Display the top <25>:     → Press Enter  // Default is to display top 25 globals
Total buffers: 102400     Buffers in use: 6926     PPG buffers: 77 (1.112%)   // Global name, database name, percentage occupied by the buffer
Item  Global                             Database          Percentage (Count)
1     oddDEF                             IRISLIB              34.
0
0 132
文章 water huang · 十月 6, 2023 3m read

iris 是数据平台,更是一种数据库。对于熟悉SQL语句的人来说,会认为“既然是数据库,数据应该就能使用sql语句来查询”。这是对的,但是因为有global这个概念,保存的数据可能在global里面,而没有对应的表,也可能保存在类的参数定义里面。这些数据,不能使用sql直接查询。要查询iris数据库的数据,通常有几种方式:1.直接查询表的数据。2.查询视图。3.调用存储过程(call 命令)。其中要查询“只存于global里面或者类参数里定义的数据”,只有使用存储过程。但是存储过程有个问题,就是程序如果迁移到低版本的cache数据库后,数据类型的定义会有问题,且不再支持使用select的方式,只能使用call。这对于第三方熟悉sql的人员来说很不友好。因此结合global和表的关系,介绍一种我称为“进程表”的表。进程表,指数据只存于该进程中,global的样式为"^||global名“。通常按照默认存储新加一个持久类(对应会生成一个表),然后手动的把global改成进程global,也就是加上”||“。然后写个方法,把需要查询出来的数据写入进程global。这样就能查询出来 了。调用形式为 SELECT * FROM People WHERE People_GLB()=1。

示例如下:

Class User.

2
0 299
文章 water huang · 十月 6, 2023 4m read

一般情况下,我们根据iris的portal向导创建数据库,然后创建命名空间。这个过程比较花时间,如果是已经存在的数据库,还需要再装载。翻阅portal调用的方法后,我整合了这几个方法。把这几个方法拷贝到任意已经存在的命名空间,通过执行CNNS(路径,命名空间),就可以快速创建好命名空间。方法的大概过程是,进入到%sys命名空间,然后依次创建数据库,创建命名空间,创建web应用。创建完成后,回到当前命名空间。

ClassMethod CNNS(pathroot = "E:\IRIS", NS = "TEST")
{
currentNS = $namespace
$zt="Err"
    zn "%SYS"
    ret=..CNNS1(pathroot,NS)
    zn currentNS
    ret
Err
zn currentNS
$ze
} ClassMethod CNNS1(pathroot, NS)
{
    APP="APP"
    ..CDB(pathroot,APP,NS,.sc)
q:sc'=1 sc
    DATA="DATA"
    ..CDB(pathroot,DATA,N

0
0 263
文章 Michael Lei · 九月 20, 2023 4m read

根据剑桥词典的解释,令牌化数据是“用令牌(=代表第一个数据的不同数据)替换隐私数据,以防止隐私信息被不被允许做的人看到”(https://dictionary.cambridge.org/pt/dicionario/ingles/tokenize)。如今,一些公司… 和 LGPD)要求的重要策略。但是,为什么不使用加密呢?保护敏感数据的令牌化过程比数据加密更常用,原因如下:

  1. 更好的性能:在密集的操作处理中动态加密和解密数据会提高性能并需要更多的处理器能力。
  2. 测试:可以标记生产数据库并复制到测试数据库,并维护适合更真实的单元和功能测试的测试数据。
  3. 更好的安全性:如果黑客破解或获得密钥,所有加密数据都将可用,因为加密是一个可逆过程。令牌化过程是不可逆的。如果您需要从令牌化数据中获取原始数据,则需要维护一个安全且独立的数据库来链接到原始数据和令牌化数据。

令牌化架构

令牌化架构需要两个数据库:应用程序数据库(App DB)用于存储令牌化数据和来自业务的其他数据;令牌数据库(Token Database)用于存储原始值和令牌化值,因此当您需要时,您的应用程序可以获得原始值以向用户显示。还有一个 令牌生成器 REST API 用于标记敏感数据、存储到令牌数据库中并返回票证。

0
0 184
文章 Michael Lei · 九月 18, 2023 6m read

如今,关于大语言模型、人工智能等的消息不绝于耳。向量数据库是其中的一部分,并且已经有非IRIS的技术实现了向量数据库。

为什么是向量?

  • 相似性搜索:向量可以进行高效的相似性搜索,例如在数据集中查找最相似的项目或文档。传统的关系数据库是为精确匹配搜索而设计的,不适合图像或文本相似性搜索等任务。
  • 灵活性:向量表示形式用途广泛,可以从各种数据类型派生,例如文本(通过 Word2Vec、BERT 等嵌入)、图像(通过深度学习模型)等。
  • 跨模态搜索:向量可以跨不同数据模态进行搜索。例如,给定图像的向量表示,人们可以在多模式数据库中搜索相似的图像或相关文本。

还有许多其他原因。

因此,对于这次 pyhon 竞赛,我决定尝试实现这种支持。不幸的是我没能及时完成它,下面我将解释原因。

0
0 198
文章 Michael Lei · 九月 17, 2023 2m read

增强的密码管理:无缝编辑密码

在不断发展的数字安全领域,强大的密码管理工具已变得不可或缺。我们的密码管理应用程序旨在简化和保护您的在线生活,现在提供了一项增强功能 - 轻松编辑密码的能力。

为什么这个功能会改变游戏规则?

  1. 灵活性:生活是动态的,我们的在线帐户也是如此。借助新的编辑密码功能,您可以在需要时灵活地修改已保存的密码。无论您是出于安全考虑想要更改密码还是只是更新密码,此功能都可以让您轻松适应。
  2. 简化的体验:编辑密码是无缝且用户友好的。不再需要繁琐的过程或从头开始创建新条目。只需点击几下,您的密码就会更新,从而使您的记录保持井然有序且最新。
  3. 增强安全性:我们将安全性放在首位。编辑密码功能可确保使用现有加密密钥对更新后的密码进行加密。这意味着即使修改密码,您的数据仍然受到保护。
  4. 个性化:您的密码,您做主。根据需要自定义标题、登录名和密码。此功能使您能够使您的密码管理器真正个性化,适合您独特的偏好和组织风格。

怎么运行的:

  • 登录到您的帐户。
  • 导航到您要编辑的密码。
  • 单击“编辑”图标。
  • 修改密码标题、登录名或密码本身。
  • 保存您的更改。
  • 您更新的密码现已安全存储并可供使用。

保持安全,保持井井有条:

凭借增强的编辑密码功能,我们的密码管理器为您的安全需求提供了更全面的解决方案。确保安全、井井有条并放心地管理您的密码。

0
0 233
公告 Michael Lei · 九月 14, 2023

有时,InterSystems 必须重新发布版本以纠正 1-2 个问题。此过程会生成称为“小数点版本”的新套件

小数点版本与维护或功能版本不同。其目标是快速、像做外科手术地纠正该领域的紧急问题。

 

如何识别小数点发布

InterSystems 数据平台产品遵循以下发布约定:

<系统间产品> <年份>.<专业>.<维护>.<构建号>.<>

例如:InterSystems IRIS 2022.1.4.204.1

识别小数点版本很简单:如果产品套件的最后一位数字非零,则您正在使用小数点版本。

 

我如何知道是否应该更换当前的软件?

每次推出小数点版本时,InterSystems 都会向我们的客户宣布并解释其解决的问题。公告是通过我们的开发者社区 ( https://community.intersystems.com/tags/intersystems-official ) 和产品警报发布的。

每个公告都会解释该版本解决的问题和相应的修复,并提供有关是否更换套件和容器的说明。因此,请阅读公告,如果您有任何疑问,请联系我们!

注意:如果您没有收到产品警报电子邮件,请访问我们的页面并注册: https: //www.intersystems.com/support/product-alerts-advisories/

0
0 147
文章 Weiwei Gu · 九月 14, 2023 2m read

InterSystems 还发布了容器化部署的IRIS。这篇文章旨在演示 InterSystems IRIS 和依赖 IRIS 后端的应用程序如何打包到镜像中并在容器中的其他计算机中运行,以及这样做有多么简单。

容器运行包含所有必需的可执行文件、二进制代码、库和配置文件的镜像。镜像可以从一台机器移动到另一台机器,像 Docker Hub 这样的镜像存储库可以简化这个过程。

我在本演示中使用了 Open Exchange 的应用程序。

演示视频: https://www.loom.com/share/93f9a760b5f54c0a8811b7a212387b9d

IRIS 数据平台社区版的镜像(image)可以在 InterSystems 容器注册表中找到:

https: //containers.intersystems.com/contents

为了在主机中使用 IRIS 的容器化实例,应在运行时拉取它。

为此,Dockerfile 需要具有以下命令,如下所示:

Dockerfile:

Dockerfile

ARG IMAGE=intersystemsdc/iris-community:preview

FROM $IMAGE

RUN iris start IRIS \

 && iris merge IRIS /tmp/merge.

0
0 246
InterSystems 官方 Claire Zheng · 九月 11, 2023

InterSystems 很高兴地宣布InterSystems Supply Chain Orchestrator™的核心组件,即 InterSystems IRIS for Supply Chain 2023.1 版,现已正式发布 (GA)。

InterSystems Supply Chain Orchestrator (InterSystems 供应链协调器)基于 InterSystems IRIS® 构建,InterSystems IRIS® 是我们完整的云优先数据平台,支持智能数据编织(smart data fabric)架构,使构建和部署连接数据和应用程序孤岛的高性能、支持机器学习的应用程序变得更加容易。它将 InterSystems IRIS 的强大功能与供应链特定的加速器和框架结合在一起,为供应链编排、需求感知和预测、履行以及快速消费品重新包装提供优化的解决方案。

InterSystems Supply Chain Orchestrator 的一个关键组件是 InterSystems IRIS for Supply Chain,它使 InterSystems IRIS 提供的智能数据编织(smart data fabric)架构更接近供应链用例,并有助于加速实现价值。

0
0 212
文章 Lilian Huang · 九月 5, 2023 11m read

嗨,开发者们!

今天我想谈谈一个让我感到困难的话题。我相信你们中的很多人一定已经遇到过这种情况(所谓的“瓶颈”)。由于这是一个广泛的主题,因此本文将仅重点关注识别可能导致缓慢问题的传入 HTTP 请求。我还将向您提供我开发的一个小工具来帮助识别它们。

我们的软件变得越来越复杂,处理来自不同来源的大量请求,无论是前端还是第三方后端应用程序。为了确保最佳性能,必须有一个能够记录一些关键测量的日志系统,例如响应时间、global引用的数量以及每个 HTTP 响应执行的代码行数。作为工作的一部分,我参与了 EMR 软件的开发以及事件分析。由于用户负载主要来自 HTTP 请求(REST API 或 CSP 应用程序),因此在发生普遍缓慢问题时进行此类测量的需求变得显而易见。

0
0 330
文章 Kelly Huang · 九月 3, 2023 7m read

对于即将到来的Python 竞赛,我想制作一个小型演示,介绍如何使用 Python 创建一个简单的 REST 应用程序,该应用程序将使用 IRIS 作为数据库。使用这个工具

  • FastAPI框架,高性能,易学,快速编码,可用于生产
  • SQLAlchemy 是 Python SQL 工具包和对象关系映射器,为应用程序开发人员提供 SQL 的全部功能和灵活性
  • Alembic 是一个轻量级数据库迁移工具,可与 SQLAlchemy Database Toolkit for Python 一起使用。
  • Uvicorn 是 Python 的 ASGI Web 服务器实现。
0
0 214
文章 Michael Lei · 八月 31, 2023 1m read

InterSystems 常见问题解答

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

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

 set status = ##class (Sample.Person). %BuildIndices ( $LB ( "NameIDX" , "ZipCode" ), 1 ,, 1 , 10 , 20 )

$LB() 是$ListBuild() 函数。 %BuildIndices() 方法使用它来指定索引名称。

有关如何重建索引的更多信息,请参阅文档

2018.1版本请参考此文档

0
0 259
文章 Louis Lu · 八月 30, 2023 1m read

大家可以通过InterSystems IRIS 管理门户SMP查看当前数据库剩余空间,路径是 Management Portal: System Operation > Database

当然大家也可以通过下面的代码查看数据库的可用磁盘空间:

 /// ZISJ.mac
 Set stmt=##class(%SQL.Statement).%New()
 Set status=stmt.%PrepareClassQuery("SYS.Database","FreeSpace")
 Set rs=stmt.%Execute()
 While rs.%Next() {
   Write !
   For i=1:1:9 {
     Write rs.%GetData(i),","
   }
 } 
0
0 134
文章 Jingwei Wang · 八月 30, 2023 5m read

案例描述

假设您是一名 Python 开发人员或拥有一支训练有素的 Python 专业团队,但您分析 IRIS 中某些数据的期限很紧迫。当然,InterSystems 提供了许多用于各种分析和处理的工具。然而,在给定的场景中,最好使用旧的 Pandas 来完成工作,然后将 IRIS 留到下次使用。
对于上述情况和许多其他情况,您可能需要从 IRIS 获取表来管理 InterSystems 产品之外的数据。但是,当您有任何格式(即 CSV、TXT 或 Pickle)的外部表时,您可能还需要以相反的方式执行操作,您需要在其上导入并使用 IRIS 工具。
无论您是否必须处理上述问题,Innovatium让我明白,了解更多解决编码问题的方法总是能派上用场。好消息是,从 IRIS 引入表时,您不需要经历创建新表、传输所有行以及调整每种类型的繁琐过程。
本文将向您展示如何通过几行代码快速将 IRIS 表转换为 Pandas 数据框架并向后转换。您可以在我的GitHub上查看代码,您可以在其中找到包含本教程每个步骤的 Jupiter Notebook。

从 IRIS 引入一张Table

当然,您应该首先导入该项目所需的库。

 import pandas as pd import sqlalchemy as db

下一步将是在 Python 文件和 IRIS 实例之间创建连接。

0
0 211
文章 Jimmy Xu · 八月 28, 2023 2m read

大家好,由于我目前在做一个数据分析的demo,所以需要在IRIS Data platform存储百万行数据供我测试。因此使用Populate Utility 来自动生成我需要的数据。

在这篇文章中,我将会给大家分享我使用 Populate utility 包括POPSPEC parameter的心得和经验。

1.创建两个persistent class , popPatient用于存储病人信息, popSign用于存储收集到的对应病人的生命信息。在定义persistent class时需要在后面引用(%Persistent, %Populate)以支持调用Populate Utility工具.

2.1 为了使我们生成出来的数据更贴合正常的情况,我们不能取一个超出常识的值比如心跳1000次一分钟。所以我使用(MAXVAL MINVAL)来限制了生成数据的区间。

popPatient 如图所示我限制了生成病人年龄的取值范围

popSign 限制了心跳的区间

2.2 如果我们需要使用自定义的自动生成方法,这时我们需要使用 POPSPEC 来定义生成的    内容,例如 我们有预定义的method,可以直接引用并生成美国电话号码,但是我想生成一个符合澳大利亚电话号码格式的值。并且在另外一张表中(popSign)记录收集到的心率的时间戳,我们可以使用$H 的方法来收集时间戳。

0
0 175
公告 Michael Lei · 八月 17, 2023

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

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

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

红帽Linux企业版RHEL

  • 近期变动
    • RHEL 9.2 和 RHEL 8.8 于 2023 年 5 月发布。红帽计划为这些版本提供 4 年支持。 InterSystems 已通过我们称为“次要操作系统版本认证”的新流程完成了对 RHEL 9.2 和 RHEL 8.8 上的 IRIS 的额外测试,该流程旨在提供额外的安全性,确保次要操作系统更新不会破坏任何明显的功能。 RHEL 8.8 和 9.2 都成功通过了我们的测试。
    • 随着 RHEL 9.2 的发布,红帽终止了对 RHEL 9.1 的公开支持。这与 Red Hat 自 RHEL 8.3 以来一直使用的“奇/偶”支持周期一致。
  • 即将发生的变化
    • RHEL 9.3 计划于今年晚些时候推出。这将是 Red Hat 的短期支持版本,因此 InterSystems 不会执行次要操作系统认证或推荐将其用于生产部署。
  • 之前的更新
    • IRIS 2022.1.2 添加了对RHEL 9.0的支持。 9.
0
0 197
文章 Michael Lei · 八月 17, 2023 1m read

受到@Evgeny Shvarov 的问题@Ashok Kumar T 的回复的启发
我已经创建了一个用于把Global下载成 XML 文件的基础

如何使用:
只需调用 http://<your_server>/csp/samples2/dc.Gdown.cls ?GBL=global_name之类的页面

gbl-name 不带首字母 ^(插入符号)
输出具有默认名称 <global_name>.XML 您可以选择。

已知限制:

  • 你必须将它安装在你的源服务器上
  • 它没有经过测试/跨命名空间工作
  • 没有部分下载
  • 错误处理只是基本或缺失

个人还有提升空间。
就是这样:

 Class dc.Gdown Extends %CSP.Page { ClassMethod OnPreHTTP() As %Boolean [ ServerOnly = 1 ] { #dim %response as %CSP.Response set %rcc = $Get ( %request.Data ( "GBL" , 1 ), "" ) if %rcc ] "" { set %rcd = $D (@( "^" _ %rcc )) if %rcd { set %response.ContentType = "application/xml" set %response.
0
0 220
文章 姚 鑫 · 八月 14, 2023 4m read

第二十二章 参考 - HL7业务服务的设置

提供HL7业务服务设置的参考信息。

HL7最重要的设置如下:

  • 池大小-默认值为1,可以支持FIFO(先进先出)处理。在许多情况下,必须按顺序接收多个患者的人口统计更新。例如,许多应用程序在处理订单消息之前需要接收ADT注册消息,在收到结果消息之前必须接收订单消息,等等。
  • 类别—此文本标签允许在配置图中对配置项进行排序。
  • 追加时间戳-(仅限文件)在存档路径中的文件名追加时间戳。
  • 归档路径-(仅限文件和FTP)指定HL7消息归档的位置。
  • 呼叫间隔-在寻找更多输入之前等待的秒数。缺省值是5秒。最小值是0.1秒。

Ack Mode

帮助建立发布 HL7 确认消息以响应收到的 HL7 消息的格式和约定。对于业务服务,此设置可以具有下表中显示的值之一。

Ack Mode Meaning
Never 不要发回任何 ACK
`Immediate 收到入站消息后立即返回 Commit ACK` 回复消息。如果未指定任何内容,则这是默认值。
Application 如果消息通过验证,则等待来自目标应用程序的 ACK 回复消息,并在到达时返回此 ACK。在调用者请求响应并且production 路由引擎未配置为转发来自任何目标的响应的情况下, 将创建并返回 ACKNACK 对象以返回给调用者。
0
0 129
文章 Weiwei Gu · 八月 14, 2023 2m read

在提交的 WRC case中(Intersystems 全球技术支持响应中心),我们经常看到客户提出有关新 Web 网关设置的问题,其中管理门户加载一半,但不显示图像。本文将解释为什么会出现此错误,以及如何修复它。本说明主要针对服务 InterSystems IRIS 实例的 Web 网关,但相同的说明也应适用于服务 Caché 实例的 CSP 网关。

问题:

您刚刚在独立的 Web 服务器上安装了 Web Gateway。当你去加载管理门户时,你发现它无法显示或加载图像,如下所示:

为什么会发生这种情况:

问题是,为了完整加载管理门户,InterSystems IRIS 必须加载许多 .js、.css 和 .png 文件(静态文件)。如果您看到像上面这样的管理门户页面,请随时打开浏览器的开发人员工具小程序,导航到“网络”选项卡,并确认未提供各种 .js、.css 和 .png 组件:

最初安装 Web Gateway 时,我们仅为以下扩展设置映射:

.csp .cls .zen .cxw

这些是客户在自己的自定义应用程序中最常使用的文件扩展名类型,以及用于为 Web Gateway 管理门户提供服务的 .cxw 扩展名。如果您想要加载其他管理门户组件,则必须注册其他文件类型以由 Web 网关提供服务。

如何解决该问题:

要使管理门户完全显示,您必须配置 Web 网关以提供其他文件类型。

0
0 178
文章 Michael Lei · 八月 10, 2023 2m read

InterSystems 常见问题解答

※如果您想比较使用Mirror、Shadow或其他机制复制的数据库,请使用此方法。

您可以使用 DATACHECK 实用程序来比较Global。请参阅下面的文档。
DataCheck 概述 [IRIS]

***

Routines比较使用系统例程 %RCMP 或管理门户。

以下是如何在管理门户中使用它。

0
0 225
文章 Weiwei Gu · 八月 7, 2023 1m read

InterSystems 常见问题解答标题

您可以为以下 Web Gateway 错误消息/系统响应设置单独的错误页面:

  • 服务器错误
  • 服务器繁忙
  • 服务器无法使用
  • 服务器超时
  • 连接关闭

在 Web Gateway 管理界面上进行设置([Management Portal] > [System Administration] > [Configuration] > [Web Gateway Management] > [Configuration] > [Default Parameters])。

在“默认参数”(Default Parameters  )菜单的“错误页面”部分中,设置要显示的 html 页面的文件名或发生错误时要重定向到的 URL。

 

0
0 181
文章 Weiwei Gu · 八月 4, 2023 3m read

InterSystems IRIS 目前将类限制为 999 个属性。

但是,如果您需要为每个对象存储更多数据该怎么办?

本文将回答这个问题(附加了社区 Python 网关的客串以及如何将广泛的数据集传输到 Python 中)。

答案其实很简单 - InterSystems IRIS 目前将类限制为 999 个属性,但不限制 999 个基元(primitives)。 InterSystems IRIS 中的属性可以是具有 999 个属性的对象等等 - 该限制很容易被忽略。

0
0 221