文章 姚 鑫 · 九月 24, 2024 阅读大约需 2 分钟 第三十二章 使用派生密钥令牌进行加密和签名 - 使用 DerivedKeyToken 进行加密 第三十二章 使用派生密钥令牌进行加密和签名 - 使用 进行加密 要使用 <DerivedKeyToken> 进行加密,请使用以下步骤: 如果要加密一个或多个安全标头元素,请创建这些安全标头元素。. 创建 <DerivedKeyToken> 并将其添加到 WS-Security 标头,如创建和添加 <DerivedKeyToken> 中所述。 请注意,此步骤还会创建并添加 <EncryptedKey> 所基于的 <EncryptedKey> 元素。 #InterSystems IRIS for Health 0 0 0 118
文章 姚 鑫 · 八月 4, 2024 阅读大约需 2 分钟 第十二章 在 Web 服务中定义自定义处理 - 实现 ProcessBody() [toc] 第十二章 在 Web 服务中定义自定义处理 - 实现 ProcessBody() 实现 ProcessBody() ProcessBody() 方法具有以下签名: #InterSystems IRIS for Health 0 0 0 118
文章 姚 鑫 · 四月 8, 2023 阅读大约需 3 分钟 第二十二章 配置镜像 - 镜像配置指导原则 第二十二章 配置镜像 - 镜像配置指导原则 为了提供强大、经济的HA解决方案,镜像设计为可适应各种系统配置和体系结构。但是,建议遵循以下一般配置准则: #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 118
文章 姚 鑫 · 九月 6, 2021 阅读大约需 5 分钟 第八章 SQL命令 CREATE METHOD(一) 第八章 SQL命令 CREATE METHOD(一) 在类中创建方法。 #SQL #Caché 0 0 0 118
文章 姚 鑫 · 六月 22, 2021 阅读大约需 5 分钟 第十五章 XML检查属性 第十五章 XML检查属性 检查属性的基本方法 可以使用%XML.Node的以下方法。以检查当前节点的属性。 - AttributeDefined() 如果当前元素具有具有给定名称的属性,则返回非零(TRUE)。 - FirstAttributeName() 返回当前元素的第一个属性的属性名称。 - GetAttributeValue() 返回给定属性的值。如果元素没有该属性,则该方法返回NULL。 - GetNumberAttributes() 返回当前元素的属性数。 - LastAttributeName() 返回当前元素的最后一个属性的属性名称。 - NextAttributeName() 在给定属性名称的情况下,无论指定的属性是否有效,此方法都会按排序顺序返回下一个属性的名称。 - PreviousAttributeName() 在给定属性名称的情况下,无论指定的属性是否有效,此方法都会按排序顺序返回上一个属性的名称。 #Caché #InterSystems IRIS 0 0 0 118
文章 姚 鑫 · 二月 14, 2021 阅读大约需 1 分钟 第三十四章 Caché 变量大全 $ZNAME 变量 第三十四章 Caché 变量大全 $ZNAME 变量 包含当前例程名称。 大纲 $ZNAME $ZN 描述 $ZNAME包含在当前进程上执行的例程的名称。通常,这是ZLOAD加载的当前例程。如果当前没有执行任何例程,则$ZNAME包含空字符串。 当ZLOAD加载一个例程时,它将成为所有名称空间中当前进程的当前加载例程。因此,可以使用$ZNAME显示任何名称空间中当前加载的例程的名称,而不仅仅是加载该例程的名称空间。 例程名称区分大小写。 请注意,尝试ZLOAD例程失败会删除当前加载的例程,并将$ZNAME设置为空字符串。 不能使用SET命令修改此特殊变量。尝试这样做会导致错误。 $ZNAME值可以通过以下任何命令设置: ZLOAD command ZSAVE command 无参数ZREMOVE命令(设置为空字符串) DO command GOTO command with ^routine #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 118
文章 姚 鑫 · 二月 19, 2025 阅读大约需 2 分钟 第二十九章 U - V 开头的术语 第二十九章 U - V 开头的术语 以 U 开头的术语 用户识别码 (UIC) 系统 用户识别码(User Identification Code,UIC)决定了谁可以访问该数据库中的全局。在 UNIX® 系统上,UIC 由 groupid、逗号(,)和 userid 组成;系统管理员在 UNIX® 级别为用户分配 UIC,并使用 IRIS MSU 工具为每个数据库分配 UIC。 未认证访问 (unauthenticated access) 系统 对 IRIS 的访问不基于任何用户身份验证。 Unicode 系统 #InterSystems IRIS for Health 0 0 0 117
文章 姚 鑫 · 二月 6, 2025 阅读大约需 3 分钟 第十六章 L - M 开头的术语 第十六章 L - M 开头的术语 锁表 (lock table) 系统 IRIS 内部的表,存储所有由进程发出的 LOCK 命令。你可以使用系统查看器查看此表。 日志文件 (log files) 系统 系统管理员目录中的文件,包含关于系统操作、错误和指标的消息。这些包括消息日志(messages.log)、系统监视器日志(SystemMonitor.log)、警报日志(alerts.log)、初始化日志(iboot.log)和日志历史记录日志(journal.log)。有关这些日志文件的信息,请参见“监控日志文件”。 逻辑格式 (logical format) 对象(Objects) 对象属性的逻辑格式是在内存中使用的格式。所有的比较和计算都是基于这种格式进行的。 #ObjectScript #SQL #InterSystems IRIS for Health 0 0 0 117
文章 姚 鑫 · 十一月 15, 2024 阅读大约需 7 分钟 第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字 第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字 TCP设备的OPEN和USE命令关键字 可以使用位置参数(如上所述)或关键字参数。下表描述了使用OPEN和USE命令控制TCP设备的关键字。还有其他只能在OPEN命令中指定的OPEN-only关键字(本章稍后将描述)。所有关键字参数都是可选的。 #InterSystems IRIS for Health 0 0 0 117
文章 姚 鑫 · 十月 31, 2024 阅读大约需 2 分钟 第七章 在 I O 命令中指定设备 第七章 在 I/O 命令中指定设备 当使用 I/O 命令OPEN 、 USE和CLOSE在除正在使用的设备之外的任何设备上处理 I/O 时,必须指定一个 I/O 设备。可以根据设备类型以三种方式之一指定设备,如下表所示。 #InterSystems IRIS for Health 0 0 0 117
文章 姚 鑫 · 十月 25, 2024 阅读大约需 2 分钟 第一章 I O 输入 输出简介 第一章 I/O 输入/输出简介 本页概括地描述了如何在 IRIS 数据平台应用程序中以及在 IRIS 提示符下使用 I/O 设备。 介绍 IRIS 数据平台为多种不同类型的逻辑和物理设备提供支持。支持的逻辑设备包括: - 主要装置 - 文件 - 管道 - TCP连接 - 作业间通信 (IJC) 设备用于在 IRIS 进程之间进行通信 - 假脱机程序 支持的物理设备包括 终端 打印机 I/O 命令概述 I/O 命令允许拥有、使用、读取、写入和关闭设备。要将 I/O 操作定向到设备,请首先发出以下命令: #InterSystems IRIS for Health 1 0 0 117
文章 Louis Lu · 七月 1, 2024 阅读大约需 2 分钟 新数据类型 VECTOR 的限制 在 OEX 最近一次编程竞赛之后,我有一些令人惊讶的发现。几乎所有的应用程序都是基于人工智能与预制 Python 模块的结合。但深入研究后发现,所有示例都使用了 IRIS 的相同技术组件。 从 IRIS 的角度来看,无论是搜索文本还是搜索图像或其他模式都是一样的。 其底层基本都是一样的。 这让我想起了我家里的情况。我的妻子和女儿对家里的大量裙子、衬衫和其他衣服的信息进行了整理。 但无论如何进行整理、分类、归档,我依然通过和我的妻子和女儿说话,来确定我的穿着。 无论怎样包装,其结果都是如此。 回到这次竞赛比赛:同样的 IRIS 技术内容,却有很多花哨的包装。每个人都在同一条高速公路上奔跑。没有人提到它有什么限制。 于是我试着深入挖掘,找出新数据类型 VECTOR 的使用限制。所有向量都有两个基本参数 - 静态 DATATYPE:"整型integer"(或 "int")、"double"、"十进制decimal"、"字符串 "和 "时间戳"。 - 半动态 LEN(gth): > 0 通常也称为 POSITION;纯整数。 #Python #Vector Search #InterSystems IRIS 0 0 0 117
问题 Tom Ming · 五月 14, 2024 使用VIP配置的Mirror,ECP添加时使用主节点IP,在故障转移后,需要手动变更ECP的数据服务器IP么? VIP:192.168.30.111,故障转移节点一(192.168.30.10),故障转移节点二(192.168.30.11),ECP地址192.168.30.100 在配置时ECP里增加数据服务器IP为【主】故障转移节点一(192.168.30.10)【文档说不能使用VIP地址】后, 如果主从切换。ECP里的数据服务器IP,会自动变换成故障转移节点二(192.168.30.11)【此时为主】吗? 如果不能,需要手动变更吗?还是不需要? #InterSystems IRIS 0 2 0 115
文章 姚 鑫 · 九月 9, 2023 阅读大约需 2 分钟 第二十三章 Classes - 属性 第二十三章 Classes - 属性 形式上 IRIS 有两种属性: 属性,保存值。该值可以是以下任意值: 单个文字值,通常基于数据类型。 对象值(包括集合对象和流对象)。 多维数组。这种情况不太常见。 属性一词通常仅指作为properties的attributes,而不是指具有关联的属性。 关系,保持对象之间的关联。 可以在包含 ObjectScript 方法、Python 方法或两者组合的类中定义属性。但是,无法从 Python 方法访问关系。本节展示了一个示例类,其中包含显示以下一些变体的属性定义: #InterSystems IRIS for Health 0 0 0 117
文章 姚 鑫 · 七月 7, 2023 阅读大约需 3 分钟 第五十一章 开发Productions - ObjectScript Productions - 不常见的任务 第五十一章 开发Productions - ObjectScript Productions - 不常见的任务 定义自定义实用函数 IRIS提供了一组可以从业务规则和DTL中调用的实用函数;这些在开发业务规则的Productions中使用的效用函数中有所描述。可以添加自己的功能,业务规则引擎和业务规则编辑器会自动适应您的扩展。 要添加新的效用函数: #InterSystems IRIS for Health 0 0 0 117
公告 Michael Lei · 五月 11, 2022 InterSystems Kubernetes Operator 3.3 发布! InterSystems Kubernetes Operation(IKO)3.3版现已通过WRC下载页面和InterSystems容器注册中心提供。IKO通过提供一个易于使用的irisCluster资源定义,简化了在Kubernetes中使用InterSystems IRIS或InterSystems IRIS for Health的工作。完整的功能清单见IKO文档,包括轻松的分片、镜像和ECP的配置。 IKO 3.3 亮点: 支持InterSystems IRIS和InterSystems IRIS for Health 2021.2 以及 2022.1版本 支持 Kuberentes 1.21 将常见的系统警报和监控(SAM)配置作为irisCluster的一部分进行部署 InterSystems API Manager(IAM)现在也可以作为 irisCluster的一部分进行部署和管理 自动标记Mirror对的活跃端,因此服务可以始终指向激活的镜像成员 #Kubernetes #容器化 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 117
文章 姚 鑫 · 一月 14, 2022 阅读大约需 2 分钟 第二十四章 SQL函数 CEILING 第二十四章 SQL函数 CEILING 数值函数,返回大于或等于给定数值表达式的最小整数。 大纲 CEILING(numeric-expression) {fn CEILING(numeric-expression)} 参数 numeric-expression - 要计算其上限的数字。 CELING返回与NUMERIC-EXPRESSION相同的数据类型。 描述 CELING返回大于或等于NUMERIC-EXPRESSION的最接近的整数值。返回值的小数位数为0。当numeric-expression为NULL值、空字符串(‘’)或任何非数字字符串时,CELING返回NULL。 #SQL #Caché 0 0 0 117
文章 姚 鑫 · 十二月 12, 2021 阅读大约需 3 分钟 第十三章 SQL谓词 IS JSON 第十三章 SQL谓词 IS JSON 确定数据值是否为JSON格式。 注意:IRIS版本可用。其他不行。 大纲 scalar-expression IS [NOT] JSON [keyword] 参数 scalar-expression - 正在检查JSON格式的标量表达式。 keyword - 可选—可选值、标量、数组或对象。 默认为VALUE。 描述 IS JSON谓词确定数据值是否为JSON格式。 下面的示例确定谓词是否是格式化正确的JSON字符串,是JSON对象还是JSON数组: #SQL #Caché 0 0 0 117
文章 姚 鑫 · 十二月 6, 2021 阅读大约需 2 分钟 第七章 SQL谓词 %FIND 第七章 SQL谓词 %FIND 使用位图块迭代将一个值匹配到一组生成的值。 #SQL #Caché 0 0 0 117
文章 姚 鑫 · 八月 14, 2021 阅读大约需 3 分钟 属性关键字InitialExpression,Internal,Inverse,MultiDimensional 第101章 属性关键字 - InitialExpression 指定此属性的初始值。 用法 要指定此属性的初始值,请使用以下语法: Property name As classname [ InitialExpression = initialexpression ]; 其中,initialexpression是用大括号括起来的常量或ObjectScript表达式。 详解 此关键字指定属性的初始值。该值是在创建新实例时由类的%New()方法分配的。(如果属性是瞬态的的,则其初始值由创建实例时%New()调用的代码或实例从磁盘加载到内存时%OpenId()调用的代码确定。) 初始表达式的值必须适合给定的属性类型。 表达式可以是任意复杂的,有以下限制: #Caché 0 0 0 117
文章 姚 鑫 · 七月 31, 2021 阅读大约需 2 分钟 外键关键字SqlName,Abstract,Condition,CoshardWith 第四十五章 外键关键字 - SqlName 为外键指定一个SQL别名。 用法 要覆盖此外键的默认SQL名称,请使用以下语法: ForeignKey keyname(key_props) References pkg.class(ref_index) [ SqlName = alternate_name ]; 其中备用名是一个SQL标识符。 详解 此关键字允许在通过SQL引用时定义此外键的替代名称。 默认 如果省略此关键字,外键的SQL名称就是外键定义中指定的keyname。 第四十六章 索引关键字 - Abstract 指定索引是抽象的。 用法 要指定索引是抽象的,请使用以下语法: #Caché 0 0 0 117
文章 姚 鑫 · 五月 13, 2021 阅读大约需 4 分钟 第五章 管理全局变量(二) 第五章 管理全局变量(二) 在全局变量中查找值 “查找全局变量字符串”页使可以在下标或选定全局变量的值中查找给定的字符串。 要访问和使用此页,请执行以下操作: 显示“全局变量”页。 选择要使用的全局变量。为此,请参阅“全局页简介”一节中的步骤2和3。 单击查找按钮。 对于查找内容,输入要搜索的字符串。 (可选)清除大小写匹配。默认情况下,搜索区分大小写。 单击Find First或Find All。 然后,页面显示选定全局变量中下标或值包含给定字符串的第一个节点或所有节点。该表左侧显示了节点下标,右侧显示了相应的值。 如果使用的是Find First,请根据需要单击Find Next以查看下一个节点。 完成后,单击关闭窗口。 执行批量更换 注意:在进行任何编辑之前,请确保知道IRIS使用哪个全局系统,以及应用程序使用哪个全局系统;参见“一般建议”此选项会永久更改数据。不建议在生产系统中使用。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 117
文章 姚 鑫 · 五月 5, 2021 阅读大约需 6 分钟 第三章 使用多维存储(全局变量)(一) 第三章 使用多维存储(全局变量)(一) 本章描述了使用多维存储(全局变量)可以执行的各种操作。 以全局变量存储数据 在全局节点中存储数据很简单:像对待任何其他变量一样对待全局变量。 区别在于对全局变量的操作是自动写入数据库的。 创建全局变量 创建新的全局变量不需要设置工作;只需将数据设置为全局变量即可隐式创建新的全局结构。可以创建全局变量(或全局变量下标)并通过单个操作将数据放入其中,也可以创建全局变量(或下标)并通过将其设置为空字符串将其保留为空。在ObjectScript中,这些操作是使用SET命令完成的。 下面的例子定义了一个名为Color(如果还不存在)的全局变量,并将值“Red”与之关联。 如果已经存在一个名为Color的全局变量,那么这些示例将其修改为包含新信息。 在ObjectScript中: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 117
文章 姚 鑫 · 二月 12, 2025 阅读大约需 2 分钟 第二十二章 P - R 开头的术语 第二十二章 P - R 开头的术语 程序员模式 (programmer mode) 系统 所有程序开发活动进行的模式。在程序员模式下,你从 IRIS 提示符启动程序,并且每个运行的程序结束后提示符会重新出现。程序员模式涵盖了 IRIS 环境及其所有可调用的程序,包括 SQL 开发环境。在程序员模式下,你可以创建用户随后在应用程序模式下运行的应用程序。 项目 (project) 系统 用户定义的相关源文档(如例程或类定义)列表。Visual Studio Code 使用项目来帮助组织应用程序开发。 属性 (property) 对象(Objects) 表示与类相关联的特定特性的一个数据元素。该类的每个对象包含属性的字面值或指向表示数据的另一个对象的引用。一个类的所有属性共同表示其状态。 属性排序 (property collation) 对象(Objects) #InterSystems IRIS for Health 0 0 0 116
InterSystems 官方 Michael Lei · 一月 9, 2025 InterSystems 系统警报和监视 (SAM) 已被移除 2024 年 12 月 4 日,系统警报和监视 (SAM) 已从 InterSystems 下载网站、容器注册表和文档网站移除。 #System Alerting and Monitoring (SAM) #InterSystems 官方 0 0 0 116
文章 姚 鑫 · 十一月 13, 2024 阅读大约需 3 分钟 第二十章 TCP 客户端 服务器通信 - 立即发送模式(Q 模式) 第二十章 TCP 客户端 服务器通信 - 立即发送模式(Q 模式) 立即发送模式(Q 模式) 在立即发送模式下,每个 WRITE 命令都作为其自己的数据包输出。如果不使用立即发送模式,则必须包括终止符或发出命令 WRITE *–3 以输出数据包。 通过指定“Q”模式字符或/SENDIMMEDIATE(或/SEN)关键字参数进入此模式。要关闭此选项,请指定以下任一选项: USE TCPDEVICE:(/SEN=0) USE TCPDEVICE:(::"-Q") 要重新打开此选项,请指定以下任一选项: #InterSystems IRIS for Health 0 0 0 116
文章 Louis Lu · 七月 1, 2024 阅读大约需 4 分钟 在InterSystems ObjectScript中使用 VECTORs 迄今为止,我看到的大多数使用向量vector的示例,将它只作为 SQL 中的一种功能,尤其是围绕 VECTOR_Search 的 3 个函数。* TO_VECTOR()* vector_dot_product ()* vector_cosine () 在 iris-vector-search 演示包中隐藏着一个非常有用的摘要。从那里,你可以通过多个链接找到所需的一切。 我还缺少更多的 VECTOR 方法,于是在 Idea Portal 上提出了相关请求。 接着,我想起每个 SQL 方法或存储过程都有一堆 ObjectScript 代码。于是我开始搜索,下面就是我的研究的一些总结: #ObjectScript #SQL #Vector Search #InterSystems IRIS 0 0 0 116
文章 姚 鑫 · 八月 21, 2023 阅读大约需 3 分钟 第五章 ObjectScript 第五章 ObjectScript 方法和例程都可以用 ObjectScript 编写,但大多数现代代码都是使用方法编写的。方法包含在类中,这允许将类似的方法分组在一起,在类参考中自动生成文档,以及使用 IRIS 的面向对象功能。 这并不意味着routines 不重要。许多有用的系统实用程序都是作为例程编写的,并且在编译类时会生成例程。 示例类 下面显示了一个名为 User.DemoClass 的示例类,其中包含用 ObjectScript 编写的方法。此示例使我们有机会了解一些常见的 ObjectScript 命令、运算符和函数,并了解代码在方法内的组织方式。 #InterSystems IRIS for Health 0 0 0 116
文章 姚 鑫 · 六月 9, 2023 阅读大约需 2 分钟 第三十章 开发Productions - ObjectScript Productions - 定义业务操作 - 调用适配器方法 第三十章 开发Productions - ObjectScript Productions - 定义业务操作 - 调用适配器方法 调用适配器方法 最常见的是,业务操作不包含用于与外部系统通信的逻辑。相反,业务操作使用处理此逻辑的出站适配器。一旦业务操作与出站适配器相关联,它就会调用适配器的方法来发送和接收数据。有关调用适配器方法的详细信息,请参阅从业务主机访问属性和方法。 向生产中的目标发送请求 尽管业务操作主要负责向特定的外部应用程序传递请求,但它也可以根据需要向其他业务操作或业务流程发送消息。要将消息发送到生产中的目标,请调用 SendRequestSync()、SendRequestAsync() 或 SendDeferredResponse()。 Ens.BusinessOperation 定义了一个可以使用的附加方法:DeferResponse()。 #InterSystems IRIS for Health 0 0 0 116
文章 姚 鑫 · 五月 2, 2023 阅读大约需 5 分钟 第四十六章 管理镜像 - 更新镜像成员网络地址 第四十六章 管理镜像 - 更新镜像成员网络地址 当必须更新一个或多个镜像成员(包括主要成员)的一个或多个网络地址时,如编辑或删除故障转移成员中所述,通常会在主要成员上更改此信息。当您保存更改时,主节点将它们传播到所有连接的镜像成员(并在它们重新连接时传播到断开连接的成员)。不能更改连接的备份或异步成员上的任何镜像成员网络地址,因为镜像成员必须从主成员接收所有此类信息。但是,一般情况下有一些例外情况,如下所示: 由于 IRIS 实例的超级服务器端口是其常规配置的一部分,因此必须在本地进行更改。因此,镜像成员的超级服务器端口是唯一始终在成员本身上更新的镜像网络信息。要更改主服务器的超级服务器端口,请转到主服务器的“编辑镜像”页面,要更改备份的,请转到备份的“编辑镜像”页面,依此类推。 注意:当在“编辑网络地址”对话框中单击本地成员超级服务器端口的“编辑端口”链接时,将出现一个包含管理门户内存和启动页面的对话框,以便更改端口号。但是,不要直接转到此页面来更改镜像成员的超级服务器端口;始终使用“编辑镜像”或“编辑异步配置”页面和“编辑网络地址”对话框来进行此更改。 #InterSystems IRIS 0 0 0 116