公告 Michael Lei · 一月 2 2024 年度回顾_ 与开发者社区一起庆祝今年的收获! 各位社区成员,大家好 🎉 2024 年已接近尾声,是时候庆祝大家的贡献了! 请在开发者社区上查看您的个性化 2024 年回顾,了解您今年的成就、活动和影响。 深入了解您产生的影响! 💫 #开发者社区官方 0 0 0 39
文章 姚 鑫 · 十二月 15, 2024 阅读大约需 4 分钟 第五十一章 File 输入 输出 - 文件路径名工具 第五十一章 File 输入 输出 - 文件路径名工具 文件路径名工具 如果当前设备是顺序文件,则$ZIO包含该文件的完整路径名。 可以使用$ZSEARCH返回指定文件或目录的完整文件规范(路径名和文件名)。文件名可能包含通配符, $ZSEARCH使用通配符返回一系列满足通配符的完全限定路径名。 %Library.File 类包含许多提供文件系统服务的方法。这些包括: #InterSystems IRIS for Health 0 0 0 39
文章 姚 鑫 · 八月 10, 2024 阅读大约需 2 分钟 第六章 定义单向 Web 方法 [toc] 第六章 定义单向 Web 方法 通常,当 Web 客户端调用 Web 服务时,会返回 SOAP 消息,即使该方法没有返回类型并且在 数据平台中执行时不返回任何内容。 在极少数情况下,可能需要将 Web 方法定义为单向的。此类方法不得返回任何值,并且消息不需要 SOAP 响应。 注意:通常不应使用单向方法。请求-响应对更为常见、更受支持且更受期待 — 即使对于没有返回类型的方法也是如此。 要定义单向 Web 方法,请将该方法的返回类型定义为 %SOAP.OneWay。WSDL 未定义此 Web 方法的输出,并且 Web 服务不返回 SOAP 消息。 #InterSystems IRIS for Health 0 0 0 39
文章 姚 鑫 · 二月 17 阅读大约需 2 分钟 第二十七章 S 开头的术语 第二十七章 S 开头的术语 存储接口 (storage interface) 对象(Objects) 使用自定义存储或编写自己的存储类时必须实现的一组方法。 存储策略 (storage strategy) 对象(Objects) 类使用的存储策略在编译时评估为存储定义,决定数据的存储方式。 存储过程 (stored procedure) SQL 存储过程允许你从 ODBC 或 JDBC 执行查询或类方法。 流接口 (stream interface) 对象(Objects) IRIS 流接口用于在 ObjectScript、SQL 和 Java 中操作流。 流 (stream) 对象(Objects) #Java #JDBC #ObjectScript #ODBC #SQL #InterSystems IRIS for Health 0 0 0 38
文章 姚 鑫 · 二月 14 阅读大约需 2 分钟 第二十四章 R 开头的术语 第二十四章 R 开头的术语 结果集 (result set) 对象(Objects) 结果集包含查询返回的数据。可以使用查询接口处理结果集。 角色 (role) 系统 InterSystems 安全系统中的实体,可以接收执行操作和查看或更改数据的能力。这些能力以特权的形式授予角色。当用户成为角色的成员时,它会获得角色的特权。 角色分配机制 (role-assignment mechanism) 系统 将各种角色赋予用户以使用 IRIS 的方式。角色分配可以使用 IRIS 原生机制、LDAP 或委托(即用户定义)代码进行。这是授权过程的一部分。 回滚 (roll back) 系统 在系统故障后从 IRIS 数据库中移除不完整事务的过程。IRIS 在其恢复程序中移除这些更改。请参见日志记录、事务。 #InterSystems IRIS for Health 0 0 0 38
文章 姚 鑫 · 二月 11 阅读大约需 2 分钟 第二十一章 P 开头的术语 第二十一章 P 开头的术语 主持久超类 (primary persistent superclass) 对象(Objects) 一个类的主要持久超类决定了该类的持久行为。默认情况下,主要持久超类是超类列表中最左侧的持久超类。通常,与相同主要持久超类相关联的类的所有数据一起存储。 主卷 (primary volume) 系统 卷集中的第一个卷或唯一卷。 主设备 (principal device) 系统 与进程相关联的输入/输出设备,通常是终端或计算机键盘和显示器。对于后台进程,你可以在 JOB 命令中分配主设备,或者在系统配置编辑器中将其设置为父进程的主设备。如果不以这些方式设置设备,则后台进程的默认设备是空设备(null device)。 #InterSystems IRIS for Health 0 0 0 38
文章 姚 鑫 · 二月 5 阅读大约需 3 分钟 第十五章 K - L 开头的术语 第十五章 K - L 开头的术语 日志记录 (journaling) 系统 一种功能,系统管理员可以选择启用,导致 IRIS 在日志文件中记录所有或选定全局的更改。如果发生系统故障,可以将这些更改向前滚动。也就是说,在恢复期间,可以将整个事务重新应用到数据库。另请参见写入镜像日志记录 (Write Image Journaling)。 以 K 开头的术语 密钥分发中心 (KDC) 系统 #InterSystems IRIS for Health 0 0 0 38
文章 姚 鑫 · 十二月 31, 2024 阅读大约需 2 分钟 第六十一章 假脱机设备 - 假脱机和特殊变量 第六十一章 假脱机设备 - 假脱机和特殊变量 写入 ^SPOOL 时,IRIS 会不断更新 $X 并$Y特殊变量。$X 表示写入当前索引行的字符数,$Y 包含当前 OPEN 期间写入的行数。请注意,$Y 的值不一定与 node 索引相同。例如: #InterSystems IRIS for Health 0 0 0 38
文章 Louis Lu · 十二月 24, 2024 阅读大约需 1 分钟 新的WebTerminal —— iterm Web Terminal 已经存在相当长一段时间了,但它存在诸多限制,并非所有功能都能正常使用。它不支持 shell,也没有诸如嵌入式 Python 支持这样的最新功能。对于那些需要编程模式的工具来说,存在一些问题。基本身份验证也不如简单的登录页面便捷,使用登录页面的话,倘若你想要改变登录应用程序的方式(比如使用单点登录,即 SSO),你还可以自行添加登录页面。 通过将最初的iris terminal 封装到一个网页表单中,利用在网络领域应用极为广泛且同样被像 Visual Studio Code(VSCode)这类工具所使用的 xterm.js,并借助 Python 施展的一些 “魔法”(这些 “魔法” 有助于实现进程间的终端交互),我们就能在网络上完整地实现终端功能了。 安装方法 #InterSystems IRIS Open Exchange app 0 0 0 38
文章 姚 鑫 · 十一月 28, 2024 阅读大约需 2 分钟 第三十五章 终端输入 输出 - 特殊变量显示 I O 条件 第三十五章 终端输入 输出 - 特殊变量显示 I O 条件 WRITE * and $X and $Y WRITE *不会更改$X和$Y。因此,可以将控制序列发送到终端, $X和$Y仍将反映真实的光标位置。某些控制序列确实会移动光标,因此可以在需要时直接设置$X或$Y 。 $X 和 $Y 示例 在以下示例中,控制序列将 VT100 终端中的光标移动到第 10 行、第 20 列,并相应地设置$X和$Y 。 #InterSystems IRIS for Health 1 0 0 38
文章 Hao Ma · 十月 28, 2024 阅读大约需 3 分钟 配置IRIS Container - 使用iris-main 使用iris-main iris-main是IRIS镜像的的ENTRYPOINT程序。 在Container中,ENTRYPOINT 指令允许你指定一个可执行程序或者脚本,作为容器启动后运行的主程序。这个程序会在容器启动时自动执行。 执行docker ps命令可以看到当前container的ENTRYPOINT是什么: #新手 #部署 #InterSystems IRIS 0 0 0 38
文章 姚 鑫 · 十月 26, 2024 阅读大约需 2 分钟 第二章 I O 输入输出简介 - Open 命令 第二章 I O 输入输出简介 - Open 命令 Open 命令 OPEN建立指定设备的所有权并打开指定设备的 I/O 通道。此所有权将持续存在,直到发出CLOSE命令、进程终止或某些物理操作关闭设备。对于物理 I/O 设备或进程间通信(例如 TCP 连接),此所有权会阻止所有其他进程访问该设备。对于逻辑 I/O 设备(例如顺序文件),此所有权可能允许其他进程以某种形式共享访问该文件。打开同一顺序文件的多个进程的处理高度依赖于平台。强烈建议使用LOCK命令来限制对顺序文件的访问。 语法 OPEN device{:{(parameters)}{:{timeout}{:"mnespace"}}} device 所需的设备名称、ID 号或助记符。设备的最大长度为 256 个字符。 #InterSystems IRIS for Health 1 0 0 38
文章 姚 鑫 · 九月 26, 2024 阅读大约需 2 分钟 第三十四章 使用派生密钥令牌进行加密和签名 - 使用 DerivedKeyToken 进行签名 第三十四章 使用派生密钥令牌进行加密和签名 - 使用 进行签名 要使用 <DerivedKeyToken>进行签名,请使用以下步骤: 如果想要签署任何安全标头元素,请创建这些安全标头元素。 创建 <DerivedKeyToken> 并将其添加到 WS-Security 标头,如创建和添加 <DerivedKeyToken> 中所述。 请注意,此步骤还会创建并添加 <DerivedKeyToken> 所基于的 <EncryptedKey> 元素。 #InterSystems IRIS for Health 0 0 0 38
文章 姚 鑫 · 八月 20, 2024 阅读大约需 2 分钟 第四章 设置和其他常见活动 第四章 设置和其他常见活动 作为参考,本主题介绍了用于保护 Web 服务的常见活动。 执行设置任务 对于大多数与 SOAP 安全相关的任务,必须首先执行以下任务: 提供可信证书供 IRIS 使用 创建 IRIS 凭证集 这些任务也是使用 XML 工具中描述的某些任务的先决条件。 可能还需要创建 SSL/TLS 配置。有关信息,请参阅 TLS 指南。 #InterSystems IRIS for Health 1 0 0 38
文章 姚 鑫 · 一月 1 阅读大约需 2 分钟 第六十二章 假脱机设备 - 查看 ^SPOOL 全局 第六十二章 假脱机设备 - 查看 ^SPOOL 全局 查看 ^SPOOL 全局 与任何下标的全局变量一样,您可以通过发出 WRITE 命令来显示 spool 文件中的行,如下所示: WRITE "1st spool file node: ",^SPOOL(1,1),! 但是,要查看和编辑假脱机文件本身,请转到管理门户并选择 System Explorer 和 Globals。选择您当前的命名空间,找到 SPOOL 全局变量,然后单击 data。这将显示类似于以下示例的假脱机文件数据。 在下面的假脱机文件中,(!) 终止字符结束假脱机文件中的每个节点行。这些终止字符是假脱机文件的一部分,作为 $CHAR(13,10) 连接到文本字符串(Return 和 Line Feed)。 #InterSystems IRIS for Health 0 0 0 37
文章 姚 鑫 · 十一月 3, 2024 阅读大约需 2 分钟 第十章 本地进程间通信(管道) - 用于进程间通信的 OPEN 命令 第十章 本地进程间通信(管道) - 用于进程间通信的 OPEN 命令 用于进程间通信的 OPEN 命令 OPEN命令允许程序与 IRIS 外部的进程进行通信。 OPEN Arguments cpipename 管道名称 仅命令管道— “|CPIPE|”或"|CPIPE|xxxxxx" ,其中xxxxxx表示用户指定的唯一标识符。 program 程序 命令管道可以使用命令 shell 或不使用命令 shell(直接)执行程序。在大多数情况下,首选不使用命令 shell 执行。标准管道使用命令 shell 执行程序。 #InterSystems IRIS for Health 0 0 0 37
文章 姚 鑫 · 十月 1, 2024 阅读大约需 2 分钟 第三十七章 结合加密和签名 - 安全标头元素的顺序 第三十七章 验证和解密入站消息 本主题介绍如何验证 IRIS Web 服务或 Web 客户端收到的消息中的安全元素(并自动解密任何加密内容)。 概述 IRIS 网络服务和网络客户端可以验证入站 SOAP 消息的 WS-Security 标头元素,以及自动解密入站消息。 IRIS Web 服务和 Web 客户端还可以处理已签名的 SAML 断言令牌并验证其签名。但是,验证 SAML 断言的详细信息是您的应用程序的责任。 如果使用安全策略,所有上述活动都是自动的。 在所有场景中,IRIS 都使用其根颁发机构证书集合;请参阅设置和其他常见活动。 验证 WS-Security 标头 要验证任何入站 SOAP 消息中包含的 WS-Security 标头元素,请执行以下操作: #InterSystems IRIS for Health 0 0 0 37
文章 姚 鑫 · 八月 7, 2024 阅读大约需 1 分钟 第三章 控制 xsi type 属性的使用 第三章 控制 xsi:type 属性的使用 控制 xsi:type 属性的使用 默认情况下, SOAP 消息仅包含顶级类型的 xsi:type属性。例如: <?xml version="1.0" encoding="UTF-8" ?> ... <types:GetPersonResponse> <GetPersonResult href="#id1" /> </types:GetPersonResponse> <types:Person id="id1" xsi:type="types:Person"> <Name>Yeats,Clint C.</Name> <DOB>1944-12-04</DOB> </types:Person> ... 在这些示例中,已添加换行符以提高可读性。要将此属性用于 SOAP 消息中的所有类型,请执行以下操作之一: #InterSystems IRIS 0 0 0 37
文章 姚 鑫 · 二月 13 阅读大约需 2 分钟 第二十三章 R 开头的术语 第二十三章 R 开头的术语 恢复 (recovery) 系统 在系统故障后恢复数据完整性的方法。 重定向 (redirection) 系统 使全局的位置对应用程序不可见的一种方式。IRIS 支持两种类型的重定向:命名空间定义和复制。 引用 (reference) 对象(Objects) 引用指向另一个对象或表,创建属性或字段与引用对象或表之间的单向关系。 注册类 (registered class) 对象(Objects) 注册类源自 %RegisteredObject 类。IRIS 自动管理注册类的对象引用,并支持多态性。 关系型数据库 (relational database) 通用 根据关系模型组织的相关数据集合。 #InterSystems IRIS for Health 0 0 0 36
公告 Michael Lei · 二月 1 开发者社区回顾, 一月 2025 您好,欢迎阅读 一月 2025 开发人员社区通讯。 统计信息 ✓ 一月发布了 33 篇新帖子: – 24篇新文章 – 9个新公告 ✓ 一月有 24 位新成员加入✓ 所有时间发布了 2,349 篇帖子✓ 所有时间有 2,123 位成员加入 #摘要 #开发者社区官方 0 0 0 36
文章 姚 鑫 · 一月 30 阅读大约需 2 分钟 第十一章 F - H 开头的术语 第十一章 F - H 开头的术语 文件流 (file stream) 对象(Objects) 文件流提供了一个接口,用于在外部文件中操作和存储大量基于文本或二进制的数据。IRIS 的流接口可以在 ObjectScript、SQL 和 Java 中用于操作文件流。 最终类 (final class) 对象(Objects) 不能被扩展或子类化的类。 最终方法 (final method) 对象(Objects) 不能被重写的方法。 最终属性 (final property) 对象(Objects) 不能被重写的属性。 外键 (foreign key) InterSystems SQL 外键约束表中的一列指向另一表中的另一列。为第一列提供的值必须存在于第二列中。 #Globals #Java #ObjectScript #SQL #InterSystems IRIS for Health 0 0 0 36
文章 姚 鑫 · 十二月 7, 2024 阅读大约需 2 分钟 第四十三章 终端输入 输出 - READ 命令 第四十三章 终端输入 输出 - READ 命令 Read 命令 从键盘读取 0 到 32 KB 的内容到指定变量中。超时参数是可选的。该命令不能以井号 (#) 或冒号 (:) 结尾 语法 READ variable:timeout ; Variable-length read READ variable#length:timeout ; Fixed-length read READ *variable:timeout ; Single-character read 示例 下表提供了如何使用这些参数的几个示例。 #InterSystems IRIS for Health 0 0 0 36
文章 姚 鑫 · 十二月 5, 2024 阅读大约需 3 分钟 第四十一章 终端输入 输出 - 协议终止符 第四十一章 终端输入 输出 - 协议终止符 协议终止符 OPEN 和 USE 协议定义了哪些 READ 输入字符、控制序列和击键被视为隐式终止符。这四种协议是 I(图像模式)、N(正常模式(默认))、R(读取行调用模式)和 T(终止符模式): #InterSystems IRIS for Health 0 0 0 36
文章 姚 鑫 · 十二月 4, 2024 阅读大约需 5 分钟 第四十章 终端输入 输出 - 用于OPEN和USE的字母代码协议 第四十章 终端输入 输出 - 用于OPEN和USE的字母代码协议 用于OPEN和USE的字母代码协议 特殊情况或终端可能需要不同的协议。使用协议字母代码参数(或相应的关键字参数),可以更改 IRIS 与终端通信的规则。协议对正常读取和单字符读取的影响是一样的。 禁用所有特殊协议的正常模式足以满足大多数终端 I/O 的需要。在正常模式下,IRIS 会回显每个传入的 ASCII 字符,并将其发送回以显示在终端上。 Return或有效的转义序列结束READ命令。 对终端发出OPEN会关闭所有先前的协议,除非您使用 + 和 - 选项。 下表描述了有效的协议字符及其效果。 #InterSystems IRIS for Health 0 0 0 36
文章 姚 鑫 · 十一月 29, 2024 阅读大约需 2 分钟 第三十六章 终端输入 输出 - 开关控制 $X 的转义序列更新 第三十六章 终端输入 输出 - 开关控制 $X 的转义序列更新 开关控制 $X 的转义序列更新 要选择非默认行为来更新进程的$X ,请发出%SYSTEM.Process类的 DX( n )方法。 系统管理员可以通过类中设置 Config.Miscellaneous 的DX属性来更改系统范围的默认行为。 在这两种情况下, n 的值都在 0 到 4 之间,如下所示: #InterSystems IRIS for Health 0 0 0 36
文章 姚 鑫 · 十一月 24, 2024 阅读大约需 5 分钟 第三十一章 TCP 高级主题 第三十一章 TCP 高级主题 本页讨论使用 TCP/IP 在 IRIS 数据平台进程之间进行通信的几个高级主题。 连接管理 服务器一次仅维护一个连接。如果在另一个连接打开时第二个客户端尝试连接,TCP/IP 会将该客户端放入队列中。在队列中时,第二个客户端可以向端口写入数据,就像已连接一样。第二个客户端写入的数据保留在缓冲区中,直到第一个连接关闭并且第二个客户端连接为止。 如果第二个客户端在连接存在之前发出READ,则会挂起。当第二个客户端在队列中时,第三个客户端的任何连接尝试都会失败。 如果已经打开 TCP 设备的客户端在第一个连接仍然存在时尝试第二次连接,则第二个OPEN命令会导致错误。将这种情况视为错误而不是USE命令可以防止出现意外的结果。如果错误的程序认为它已打开新连接,而实际上它正在重用可能具有不同目标或不同参数的现有连接,则可能会出现此类意外结果。 #InterSystems IRIS for Health 1 0 0 36
文章 姚 鑫 · 十一月 18, 2024 阅读大约需 2 分钟 第二十五章 TCP 客户端 服务器通信 - TCP 设备的 READ 命令 第二十五章 TCP 客户端 服务器通信 - TCP 设备的 READ 命令 TCP 设备的 READ 命令 从服务器或客户端发出 READ 命令以读取客户端或服务器设置的任何字符。 语法如下: READ var:timeout READ *var:timeout READ var#length:timeout 超时参数虽然是可选的,但强烈建议使用,因为如果指定了超时,则 READ 的成功或失败由 $TEST 特殊变量的值指示。如果在超时到期之前读取尝试成功,则 $TEST 设置为 1;如果超时到期,$TEST 设置为 0。 超时参数支持秒和秒的分数到 1/100 秒。例如,10、10.5、.5、.05。 #InterSystems IRIS 0 0 0 36
文章 姚 鑫 · 十一月 2, 2024 阅读大约需 2 分钟 第九章 本地进程间通信(管道) 第九章 本地进程间通信(管道) 本页介绍如何通过管道与 IRIS® 数据平台外部的进程建立通信。 介绍 可以通过管道在 IRIS 进程和外部 UNIX® 或 Windows 进程之间进行通信,就像在 UNIX® 或 Windows 操作系统级别一样。可以将输出发送到管道或从管道接收输入。管道为单向;不能同时读取和写入同一个程序。 当打开另一个程序的管道进行输出时,可以像写入顺序文件一样对其进行写入。然后程序使用编写的内容作为其输入流。当希望 IRIS 进程与外部进程共享资源时,此功能特别有用。 打开 IRIS 实用程序的管道 可以打开通往 IRIS 实用程序以及 UNIX® 或 Windows 进程的管道。在将管道用于实用程序 I/O 之前,系统管理员必须在 IRIS 系统上定义管道设备。 #InterSystems IRIS for Health 0 0 0 36
文章 姚 鑫 · 十月 17, 2024 阅读大约需 2 分钟 第五十章 安全元素的详细信息 第五十章 安全元素的详细信息 本主题讨论 SOAP 消息中较常见的安全元素,特别是 IRIS Web 服务和客户端可以发送的变体。此信息旨在帮助那些不经常使用 SOAP 的人重温记忆。此处的详细信息也可能有助于故障排除。 <BinarySecurityToken> <BinarySecurityToken> 的目的是携带消息中其他元素使用的安全凭证,供消息接收者使用。安全凭证以序列化、编码的形式携带。以下显示了部分示例: #InterSystems IRIS for Health 0 0 0 36
公告 Claire Zheng · 十月 10, 2024 InterSystems Global Masters - 欢迎回来(测试版) 各位社区成员,大家好 Global Masters 已开启!使用 InterSystems SSO 登录使用 >> [此链接] << 访问平台,并使用您的 InterSystems SSO 登录。请注意,在最近的测试中,我们发现一些用户在尝试通过这种方式登录时会遇到错误。 我们目前正在与供应商共同调查问题原因。 如果您遇到此类错误,请通过私信联系我,我将向您发送手动邀请!测试版免责声明 #Global Masters 0 0 0 36