搜索​​​​

清除过滤器
公告
Claire Zheng · 十月 23, 2022

12小时后投票截止!获奖名单将于10月24日晚发布(附腾讯会议邀请)

各位开发者社区的同学们,大家好! 经过一个多月的赛期,我们举办的🏆InterSystems开发者社区中文版首届技术征文大赛🏆(←点击链接进入参赛页面,浏览所有参赛文章)即将步入尾声! InterSystems开发者社区(中文版)首届技术征文大赛的“征文&投票”环节将于12小时后结束(截至10月23日24:00)!抓住最后的时间为你喜欢的作品投票吧! 10月24日19:30开始,我们将通过“InterSystems首届技术征文大赛线上分享会”发布获奖名单、进行征文作品分享&点评、探讨热门话题,同期还将举办多轮抽奖! 欢迎参会,锁定#腾讯会议 会议主题:InterSystems首届技术征文大赛线上分享会会议时间:2022/10/24 19:30-21:00 (GMT+08:00) 中国标准时间 - 北京 点击链接入会,或添加至会议列表:https://meeting.tencent.com/dm/nVHWgZcY5NfZ #腾讯会议:372-615-324
公告
Claire Zheng · 四月 27, 2023

2023 年 4 月 27 日 - 警报:使用加密时数据库和Journal日志损坏

InterSystems 已修复了一个缺陷,该缺陷可能会导致使用 IBM POWER8 或更高版本的 POWER 处理器的 AIX 系统上的数据库和Journal日志文件损坏。只有在使用数据库或Journal日志加密时才会触发此缺陷。 当满足以下条件时,会触发此缺陷: 该环境使用数据库或Journal日志加密 该环境还使用数据元素加密 用于数据元素加密的加密密钥已停用 如果环境满足所有这些条件,则用于数据库或Journal日志加密的密钥计划可能会被损坏。 该缺陷存在于以下产品和基于这些产品的任何 InterSystems 产品中: InterSystems IRIS ® –除 2022.1.3 和 2023.1 之外的所有版本 InterSystems IRIS for Health ™ ——除 2022.1.3 和 2023.1 之外的所有版本 HealthShare ® Health Connect –除 2022.1.3 和 2023.1 之外的所有版本 HealthShare ®解决方案——所有版本 请注意,此缺陷不会直接影响 HealthShare 解决方案,因为它们不使用数据元素加密功能。但是,如果 HealthShare 环境有一个使用上述数据元素加密功能的客户化定制,则它们必须遵循此警报中提供的补救措施。 InterSystems Caché® 和 InterSystems Ensemble® –从 2015.1 开始的所有版本 此缺陷的修复被标识为 RJF540,并将包含在所有未来版本中。 该修复也可以通过补丁Ad hoc 分发获得。 如果您对此警报有任何疑问,请联系全球响应中心。
文章
Claire Zheng · 七月 22, 2022

【精华置顶帖】一文了解关于InterSystems开发者社区的各种玩儿法(包括积分福利)!

这是一个帖子合集,方便你快速了解关于开发者社区的各种积分福利和玩儿法! 刚刚接触开发者社区er 1. 欢迎欢迎✿✿ヽ(°▽°)ノ✿!InterSystems 开发者社区欢迎您! 2. 遵守社区行为准则很重要 InterSystems开发者社区行为准则 社区福利区-Global Master 1. 认识Global Masters 倡导中心,从这里开始! 2. 如何在 InterSystems Global Masters倡导中心获得积分 3. Global Masters: 在中文社区贡献可以获得超高积分 4. Global Masters的成员们,即日起在社区发布帖子和译文贴可获得两倍积分! 5. 社区福利持续更新中!来Global Masters,赢取Apple AirPods,Amazon Echo Dot,解锁更多奖品 6. Global Masters_ Open Exchange 应用市场上每个 ZPM 应用程序的奖励积分 7. Global Masters 奖励计划:1.5 小时的 InterSystems 专家咨询 8. 探索之夏——来开发者社区提问,获取双倍积分! 社区基本技能-搜索&关注 1. 如何更好地搜索开发者社区? 2. 如何在InterSystems开发者社区学习?第一部分:玩转“关注” 3. 如何在InterSystems开发者社区学习?第二部分:标签(Tags) 社区基本技能-发帖 1. 技能帖:更好地利用开发者社区的发帖功能! 2. 如何发帖以及其他常见问题解答 3. 如何在开发者社区上发布包含代码的帖子? 4. 如何从 Word 或 Google Docs 发布文章 5. 如何在帖子中突出显示 ObjectScript? 6. (给自己赚更多积分、换iPods)如何在其他开发者社区翻译并发布帖子 7. 如何在发帖时嵌入视频 社区基本技能-提问 1. 如何在开发者社区上发布同类最佳的问题? 社区高级技能-参赛 开发者社区会定期举办技术大赛,欢迎积极参赛! 参赛者需要在Open Exchange上发布程序以提交参赛作品,那么这两篇是必读: 1. 如何把参赛APP提交给大赛 2. 如何在 InterSystems Open Exchange 应用市场上发布应用程序? 提交作品后,社区投票是非常重要的获奖依据,那么这篇是必读: 1. 投票必读:如何成为社区活跃用户(Active user) 2. 如何更好地成为社区贡献者/活跃用户? 开发者社区服务 1. 如何在开发者生态系统的各类资源中修改您的主邮箱(Primary Email Address)? 2. InterSystems开发者社区新增“工作”版块 3. 畅聊吧!来Discord加入InterSystems开发者社区! 4. 如何查看自己的发帖表现 5. 如何将 InterSystems 认证添加到您的社区资料(Profile)中? 如果有疑问,欢迎跟帖提问!
文章
Jingwei Wang · 九月 28, 2021

IRIS 2021 技术文档 First Look 16 Java 网关(Gateway)和InterSystems 产品

本文档介绍了如何在 InterSystems IRIS®数据平台中使用 Java 网关(Gateway)与 Java 组件进行互操作。在本文中,您将首先创建一个示例 JAR 文件。然后,您将在 InterSystems IRIS 管理门户(Management Portal)中创建并启动 Java 网关(Gateway)。您将以编程方式导入创建的示例 JAR 文件。最后,您将在 ObjectScript 中创建并操作一些代理类(proxy class)和对象(object)。 为了让您体验 Java 网关(Gateway ),而又不陷入细节困境,我们保持了简单的探索。这些活动被设计成只使用默认设置和功能,这样您就可以熟悉功能的基本原理,而不必处理那些离题或过于复杂的细节。当您把 Java 网关(Gateway)引入您的生产系统时,您可能需要做一些不同的事情。请确保不要把这种对 Java 网关(Gateway )的探索与真实的情况相混淆!本文档末尾提供的参考资料将使您对在生产中使用 Java 网关(Gateway)的情况有一个很好的了解。 要浏览所有的技术概要(First Look),包括下面描述的可以在免费的社区版(Community Edition)实例上执行的那些,请参见 InterSystems 技术概要。 为什么 Java 网关(Gateway)很重要 Java 网关(Gateway)为 InterSystems IRIS 与 Java 组件进行互操作提供了一种简单的方法。在使用 Java 网关(Gateway)导入 JAR 文件后,您可以实例化一个外部 Java 对象,并将其作为 InterSystems IRIS 中的本机对象进行操作。您可以从 InterSystems IRIS 和 ObjectScript 内部访问 Java 类和方法! 在内部,Java 网关(Gateway)为每个 Java 类生成一对一的 ObjectScript 代理。通常,使用 Java 网关(Gateway)的最佳方法是构建一个小型 Java 封装类(wrapper class),它只公开您想要的功能,然后为这个封装创建一个代理。 探索 Java 网关(Gateway) 我们开发了一个简短的演示,向您展示如何使用 Java 网关(Gateway)和 InterSystems IRIS。想试试InterSystems IRIS Java 开发和互操作性功能的在线视频演示吗?请查看 Java QuickStart(Java 快速入门)! 用前须知 要使用该程序,您需要在一个系统上工作,应安装 JDK 1.8 版本和您选择的 Java IDE,并连接一个正在运行的 InterSystems IRIS 实例。您对 InterSystems IRIS 的选择包括多种已授权的和免费的评估实例;实例不需要由您正在工作的系统托管(尽管它们必须相互具有网络访问权限)。关于如何部署每种类型的实例的信息(如果您还没有可使用的实例),请参见InterSystems IRIS 基础:连接一个 IDE中的部署 InterSystems IRIS。使用同一文档中的InterSystems IRIS 连接信息和 Java IDE中的信息,将 IDE 连接到您的 InterSystems IRIS 实例。 创建 JAR 文件 使用您选择的 IDE 在 Java 中创建 Person 类。使用以下示例代码: public class Person { public int age; public String name; //constructor public Person (int startAge, String Name) { age = startAge; name = Name; } public void setAge(int newAge) { age = newAge; } public String getName() { return name; } public int getAge() { return age; } public static void main(String []args) { Person myPerson = new Person (5, "Tom"); System.out.println(myPerson.getName()); System.out.println(myPerson.getAge()); }} 编译 Person 类。然后,打开命令提示符(Command Prompt)窗口,并导航到包含 Person.class 文件的目录。使用下面的命令来生成 Person.jar 文件: jar cf Person.jar Person.class 注意文件的位置。 启动 Java 网关(Gateway) 要启动 Java 网关(Gateway),请按照以下步骤操作: 使用InterSystems IRIS 基础:连接一个 IDE中为您的实例描述的 URL,在浏览器中打开您的实例的管理门户(Management Portal)。 导航到 Object Gateways(对象网关)页面。(System Administration(系统管理) > Configuration(配置) > Connectivity(连接) > External Language Servers 选择 Create New External Language Servers 下拉菜单选择 Java 。 服务器名称输入 JavaGatewayTest,端口输入 55555。 点击 Save(保存)。 在新的 Java 网关(Gateway)所在行中,点击 Start(开始)。 生成代理类(Proxy Classes) 在 USER 命名空间(或您在已安装的实例)中创建一个名为 CreateProxyClasses.cls 的新 ObjectScript 类,包名为 JavaGatewayTest。粘贴以下代码,用您的 InterSystems IRIS 实例的连接信息 (如InterSystems IRIS 基础:连接一个 IDE中所述)替换 gwyConn.&Connect 的参数。您可以指定所示的 USER 命名空间,也可以选择实例上创建的另一个命名空间。用双引号括起来的 Person.jar 文件的完整文件路径替换 YOUR FILEPATH HERE。 Class JavaGatewayTest.CreateProxyClasses Extends %Persistent { ClassMethod run() { // get a connection to the Java Gateway set gwyConn = ##class(%Net.Remote.Gateway).%New() set status = gwyConn.%Connect("127.0.0.1", 55555, "USER") if $$$ISERR(status) { write !,"error: "_$system.OBJ.DisplayError(status) quit } // add the jar to the classpath set classpath = ##class(%ListOfDataTypes).%New() do classpath.Insert("YOUR FILEPATH HERE") set status = gwyConn.%AddToCurrentClassPath(classpath) if $$$ISERR(status) { write !,"error: "_$system.OBJ.DisplayError(status) quit } // create the proxy ObjectScript classes that correspond to the Java classes in the jar file set status = gwyConn.%Import("Person",,,,1) if $$$ISERR(status) { write !,"error: "_$system.OBJ.DisplayError(status) quit } // close the connection to the Java gateway set status = gwyConn.%Disconnect() if $$$ISERR(status) { write !,"error: "_$system.OBJ.DisplayError(status) quit }}} 编译并构建该类。 打开 InterSystems 终端(Terminal),并导航到您指定的命名空间。使用以下命令执行 run() 方法: do ##class(JavaGatewayTest.ManipulateObjects).run() 您应该可以看到以下输出: Name: Tom Age: 5 setting age to 100 Age: 100 现在您已经成功地完成了练习,停止您创建的 Java 网关(Gateway)。返回到管理门户(Management Portal)中的 External Language Servers页面,找到您的 JavaGatewayTest 网关,并选择 Stop(停止)。 了解有关 Java 网关(Gateway)的更多信息 要了解有关 Java 网关(Gateway)和 InterSystems IRIS 的更多信息,请参见: 使用 Java 网关(Gateway) 有个疑问,生成代理类(Proxy Classes)该步骤中是不是应该体现为JavaGateway而不是Net.Remote.Gateway。 %Net.Remote.Gateway 是 %Net.Remote.Java.JavaGateway的基类,是用来建立JavaGateway的连接使用的。
文章
Michael Lei · 十一月 9, 2021

转发InterSystems全球副总裁精彩博客--客户至上理念如何推动卓越与创新?

照顾好我们的客户并打造伟大的产品。这是我们InterSystems自从1978年成立以来的座右铭。40多年很快过去,这始终驱动着我们前进。过去是,未来也将一直是我们的基因。 追求卓越和持续提升的价值观是我们的“客户至上”方法取得成功的关键。这也是过去三年我们一直积极参与Gartner及其Peer Insights项目的原因,该项目主要征求最终用户的反馈意见和对厂商的打分。InterSystems连续两年荣膺Peer Insights运营数据库管理系统(ODBMS)客户选择奖,而且是该类别评分最高的供应商之一。 此外,InterSystems还入选Gartner目前推出的Gartner“客户至上”计划,并获得相应标识(上图),这一计划认可了我们为客户提供的坦诚分享、公正反馈的环境,根据用户反馈,我们不断改善产品和服务,从而最大程度地满足不断变化的客户需求。简言之,我们没有人为影响客户在Gartner网站上对我们的评价。这体现了我们对客户的承诺以及开放沟通渠道的重要性。InterSystems IRIS®数据平台是Gartner最新的云数据库管理系统魔力象限(Cloud Database Management Systems Magic Quadrant)中唯一获得此标识的产品,我们对此深感自豪。 以客户为中心的基因DNA 在我尚未加入InterSystems前,作为一家医学实验室的IT人员,我曾体验到InterSystems的“客户至上”。当时,我们还与另一家供应商合作,但他们的支持服务并不理想——我们需要等待很长时间;需要向很多人重复说明问题,而这些人并不能解决问题;我们还需要不断进行身份验证。他们的服务与其说是提供帮助,不如说是让人筋疲力尽,我认为他们从未将我的利益放在心上。 而InterSystems提供了天壤之别的客户体验。我第一次遇到问题呼叫InterSystems支持中心时,一位名叫Terry的人立刻接通了电话。他没有让我验证身份,而是让我解释了一下问题,并一直在线提供支持直到问题得到解决。当时我并不知道这位Terry居然就是InterSystems的创始人兼首席执行官(现在仍是)。显然,对InterSystems来说,最重要的事情是解决问题、让客户满意。尽管现在许多事情已经发生了改变(我们现在有不同人员负责处理服务请求了),但我们依然坚持这一理念。(注明:作者在1984年加入Intersystems 公司,这段故事发生在将近40年前公司刚刚成立的时候) 每周一上午,InterSystems总部都会召开高管例会,然而会议重点并非是公司的销售指标或收入,而是探讨如何通过改善产品、业务模式和支持服务来增强客户的成功。会议至少有一半的时间是在讨论客户支持服务——哪位客户提出了问题、我们是如何解决的、客户是否满意等等。 我们将客户支持作为我们的一大亮点,因为它能够彰显我们帮助客户成功的热情。如果我们能够助力客户实现自身目标,这比签署了一笔大单更有价值。这能够培育不可复制的客户信任。我们现在的客户留存率在99%以上,结果不言自明。 “如果你不清楚应该帮助客户还是帮助公司,那么请选择帮助客户。”——Terry Ragon,InterSystems CEO 未来之路 我们对获得Gartner的“客户至上”标识深感自豪。对我们而言,这不仅是又一次的认可,更是一个信号——我们正沿着正确的方向为用户提供卓越客户服务,其结果和客户口碑能说明一切。 借助Gartner的帮助,我们希望继续努力提供尽可能最佳的客户支持,我们的员工配备也反映了这一目标。我们授予支持团队与工程师和开发人员同等重要的权利,这样他们就可以为客户做出重要决定,而不必来回请示。对InterSystems而言,这不仅是客户支持的未来之路,也是我们提供最佳产品和服务的前进方向。 注:作者John Paladino是InterSystems负责客户服务的全球副总裁。自1984年加入InterSystems以来,他帮助开发了自动化支持跟踪系统和针对所有InterSystems软件产品的客户培训项目,制定并实施了旨在改善响应性、提高客户满意度的服务标准,并主导多个国内外团队建设计划。在加入InterSystems之前,他曾在New England Pathology担任三年的系统工程经理,负责获取、实施和管理各类信息技术。Paladino曾在伍斯特理工学院和马萨诸塞大学卢维尔分校攻读电机工程专业。 博客原文:How Can Putting the Customer First Drive Excellence and Innovation? 微信公众号原文:深深植根于InterSystems的DNA中,客户至上理念如何推动卓越与创新? 欢迎大家参与评审给我们提供宝贵意见:参与gartner-peer-insights同业评审,赢取价值25美元的礼品卡
文章
姚 鑫 · 九月 25, 2022

第四十三章 使用多个 IRIS 实例(三)

# 第四十三章 使用多个 IRIS 实例(三) # `Windows` 上的 `iris` 命令 在 `Windows` 上,必须从 `install-dir\bin` 目录运行 `iris` 命令(或在命令中包含完整路径)。 - `iris all` 列出所有已安装实例的摘要信息,每行一个实例,如下所述。 注意:如果需要完整的信息,例如用于解析或报告目的,请使用 `iris list`。 ```java C:\InterSystems\IRISHealth\bin>iris all Instance Version ID Port Directory ------------- ---------- ---- --------- up irishealth 2022.1.0.114.0 51773 c:\intersystems\irishealth ``` - `iris allw` 为每个实例列出与 `iris all` 相同的信息,而不包含长字段值。可能会产生超过 `80` 个字符的行。 ```java C:\InterSystems\IRISHealth\bin>iris allw Instance Name Version ID Port Directory ------------------------------- ---------------------------- ----- -------------------------------- up irishealth 2022.1.0.114.0 51773 c:\intersystems\irishealth ``` - `iris console instname [arguments]` 在操作系统命令窗口而不是终端窗口中打开 `Terminal` 。 ![image](25F7E075095D47C4A19C24D2764F52E1) - `iris force instname` 强制关闭实例。 - `iris help` 显示有关 `iris` 命令的最新信息。 ```java C:\InterSystems\IRISHealth\bin>iris help usage: iris start [] to start instance , optionally using the specified .cpf file. An optional /EmergencyId=Username,Password can be used to start InterSystems IRIS in emergency mode. When the EmergencyId argument is supplied, the system starts up in emergency mode in which only the baseline databases are mounted and access to InterSystems IRIS is governed by InterSystems IRIS login using that username and password. Emergency mode is supplied to give access in the event that privileged users are not available or their password is forgotten. Emergency startup is only available from an administrator account. When InterSystems IRIS is started in emergency mode, the IRIS control service is not used. This means that if you log out of Windows, all the InterSystems IRIS processes will immediately exit. or: iris startnostu to start instance without running ^STU. or: iris stop to shut down instance . or: iris stopnoshut to shut down instance without running user shutdown routines. or: iris stopstart to shut down and restart instance . Note: An optional /nofailover argument can be specified for stop, stopnoshut, or stopstart to not trigger a mirror failover. or: iris force to force down instance . or: iris [ run OR console OR terminal ] to run InterSystems IRIS in programmer mode with [ no-device OR console OR terminal ] for $Principal. or: iris [ run OR console OR terminal ] to run InterSystems IRIS routine in application mode with [ no-device OR console OR terminal ] for $Principal. or: iris [ run OR console OR terminal ] to run InterSystems IRIS routine in in application mode with [ no-device OR console OR terminal ] for $Principal. or: iris runw [] to run InterSystems IRIS routine in application mode with no input/output device for $Principal using the optional namespace. When run from a batch script, iris will wait for the InterSystems IRIS process to terminate before returning. The exit code from the InterSystems IRIS process will be returned by iris. Note: An optional /Title="Title string" can specify the console or terminal title bar text. or: iris iristraystart to start IRISTray for instance . or: iris iristraystop to stop IRISTray for instance . or: iris licmanagerstop to stop licmanager running in instance . or: iris all [> outputfile] to list all installed instances. or: iris allw [> outputfile] to list (wide format) all installed instances. or: iris list [] [> outputfile] to list information about all installed instances or the specified instance. or: iris qlist [] [> outputfile] to display a quick list of information about all installed instances or the specified instance, in a format suitable for parsing in command scripts. The record for an instance contains fields separated by "^" (carats): Field 1: instance name Field 2: instance directory Field 3: version identifier Field 4: current status for the instance Field 5: configuration file name last used Field 6: SuperServer port number Field 7: WebServer port number Field 8: JDBC Gateway port number Field 9: Instance status (e.g., ok, warn, alert) Field 10: Product name of the instance Field 11: Mirror Member Type (e.g., Failover, Disaster Recovery) Field 12: Mirror Status (e.g., Primary, Backup, Connected) or: iris serverlist [> outputfile] to list information about all defined servers. Note: When [> outputfile] is present, output is redirected to the file instead of being displayed on the terminal. or: iris telnetstop to stop the InterSystems IRIS TELNET daemon. or: iris telnettrace to toggle the TELNET trace state. or: iris iristrmdstop to stop the InterSystems IRIS terminal daemon. Note: iris often displays error information in a message box. You can suppress the message box containing error information by adding "quietly" (without the quotation marks) as the final argument to the iris command. or: iris help [display] to show this help. If display is specified the help is displayed in a browser window. ``` - `iris list [arguments]` 显示有关已安装 `IRIS` 实例的信息,如下所述。 ```java C:\InterSystems\IRISHealth\bin>iris list irishealth Instance 'irishealth' (Custom installation) directory: 'C:\InterSystems\IRISHealth' versionid: '2022.1.0.114.0' conf file: 'c:\intersystems\irishealth\iris.cpf' (SuperServer port = 51773, WebServer port = 52773) status : 'running, since Mon Sep 12 08:08:58 2022' Product : InterSystems IRISHealth ``` `instname` — 可以选择指定 `IRIS` 实例名称以仅显示有关该实例的信息。例如,`iris list MyIRIS` 仅显示有关 `MyIRIS` 实例的信息。 - `iris qlist [参数]` 与 `iris list` 类似,但有附加信息。每个实例的输出(如下所述)在一行中给出,字段由插入符号 (`^`) 分隔。 `instname` — 可以选择指定 `IRIS` 实例名称以仅显示有关该实例的信息。例如,`iris qlist MyIRIS` 仅显示有关 `MyIRIS` 实例的信息。 ```java C:\InterSystems\IRISHealth\bin>iris qlist irishealth irishealth^C:\InterSystems\IRISHealth^2022.1.0.114.0^running, since Mon Sep 12 08:08:58 2022^c:\intersystems\irishealth\iris.cpf^51773^52773^^^IRISHealth^^ ``` - `iris run instname [arguments]` 在没有 `$Principal` 的输入/输出设备的程序员模式下运行 IRIS。 - `iris runw instname 例程 [参数]` 在应用程序模式下运行命名的 `IRIS` 例程,没有 `$Principal` 的输入/输出设备。从批处理脚本运行时,该命令会等待 `IRIS` 进程终止,然后再从进程返回退出代码。 `namespace` — 在指定的命名空间中运行例程。 注意:如果使用指定了启动命名空间的用户帐户启动 `IRIS`,则命名空间参数无效(请参阅用户帐户属性)。 - `iris start instname [参数]` 启动实例。 注意:系统可能会提示以“紧急模式”启动。 完整的 `CPF` 路径 — 默认情况下, `IRIS` 从位于 `<install-dir>/mgr` 目录中的 `iris.cpf` 文件中读取某些设置。可以提供另一个 `.cpf` 文件的完整路径以供使用。 - `iris startnostu instname` 启动指定的实例而不运行`^STU`。 - `iris stop instname [参数]` 关闭实例。 `/nofailover` — 指定此可选参数以防止触发镜像故障转移。 - `iris stopnoshut instname [参数]` 使用 `INTNOSHUT^SHUTDOWN` 关闭命名实例。 **注意:只有实例所有者和 `irisusr` 可以在不登录终端的情况下运行 `INTNOSHUT^SHUTDOWN`。** `/nofailover` — 指定此可选参数以防止触发镜像故障转移。 - `iris stopstart instname [参数]` 关闭实例后启动它。 `/nofailover` — 指定此可选参数以防止触发镜像故障转移。 - `iris terminal instname [参数]` 打开实例的 `Terminal` 。 `routine` — 在终端中以应用程序模式为 `$Principal` 运行命名的 `IRIS` 例程。 `"[label[+offset]]^routine"` — 指定要在用户模式下运行的 `ObjectScript` 程序的名称。除了指定的格式之外,还可以传递由字符串和`/`或数字文字组成的参数列表,以及省略的 (`void`) 参数,如下所示: - `"routine[([parameter-list])]"` - `"[label]^routine[([parameter-list])]"` - `"##CLASS(package.class).method[([parameter-list])]"` 其中,例如,参数列表以“`string literal`”的形式指定,`-+-000123.45600E+07`,省略的参数作为 `$Data(parameter)=0` 传递给目标。 注意:空格和 `shell` 元字符必须以依赖于操作系统的形式引用。 命名空间 — 与例程一起使用,在指定的命名空间中运行例程。 注意:如果您用指定了启动命名空间的用户帐户启动 `IRIS`,则命名空间无效(请参阅用户帐户属性)。 ## iris list, qlist, and all #### `iris all` 列出有关一个或多个 `IRIS` 实例的以下信息: - 实例状态,如下 - ``(状态不可用,登录已禁用) - `dn`(关闭或已崩溃) - `up` (running) - `st` (starting or stopping) - 实例名称 - `IRIS` 版本 - 超级服务器端口号 - 安装目录 #### `iris list` 列出有关一个或多个 `IRIS` 实例的以下信息: - 实例名称(和安装类型) - 安装目录 - `IRIS` 版本 - `IRIS` 参数 (`.cpf`) 文件的路径名 - 超级服务器和网络服务器端口号 - 实例状态,如下 - `running` - `down` - `starting or stopping` - 不完整的启动或停止,登录被禁用 - 实例的系统健康状态,如果正在运行(不包括在 `Windows` 中) - 镜像成员类型和状态(如果是镜像成员) #### iris qlist 为一个或多个 `IRIS` 实例在单行上输出以下信息,以插入符号 (`^`) 分隔: 1. 实例名称(和安装类型) 2. 安装目录 3. `IRIS`版本 4. 实例状态 5. 当前配置参数文件的路径名,相对于安装目录。 `Windows` 系统改为显示完整路径。 6. 超级服务器端口号 7. 网络服务器端口号 8. `JDBC` 网关端口号 9. 实例的系统健康状态,如果正在运行(在 `Windows` 上总是空白) 10. 产品名称 11. 镜像成员类型(如果是镜像成员) 12. 镜像状态(如果是镜像成员) 13. 数据目录(如果适用)
文章
Qiao Peng · 三月 29, 2021

CDC系列之四:使用DSTIME特性在InterSystems IRIS/Caché上实现CDC功能

前面介绍了通过mirroring或shadow,使用journal日志过滤器的方式,在不改动数据模型的情况下实现InterSystems IRIS/Caché上的CDC能力。但如果你可以修改InterSystems IRIS/Caché上的数据模型,也可以考虑使用DSTIME特性实现变更数据捕获。 DSTIME特性 DSTIME特性是InterSystems IRIS/Caché的嵌入式实时BI工具DeepSee用于跟踪数据变更的。InterSystems IRIS和2011版之后的Caché,都支持DSTIME特性。它会自动记录数据库中SQL表记录或持久化对象的变更,并将变更记录写入持久化的多维数组^OBJ.DSTIME中。 DSTIME特性是针对于SQL表/持久化类的,因此需要为每个需要记录变化的表/持久化类开启。当开启了DSTIME的表/持久化类,有记录插入、更新、删除时,InterSystems IRIS/Caché引擎会自动在^OBJ.DSTIME中记录这些操作。其格式为:^OBJ.DSTIME(类名,DSTIME,对象ID) = 执行的操作代码 DSTIME:当SQL表/持久化类的参数DSINTERVAL未被设置时,DSTIME=0;当SQL表/持久化类的参数DSINTERVAL被设置时,DSTIME=1840/12/31午夜12点到记录发生时的秒数。 执行的操作代码: 代码 操作 0 更新 1 插入 2 删除 例如:^OBJ.DSTIME(“Demo.Patient”,5673588714,2) = 1^OBJ.DSTIME(“Demo.Patient”,5673588735,3) = 1^OBJ.DSTIME(“Demo.Patient”,5673588784,4) = 1^OBJ.DSTIME(“Demo.Patient”,5673588791,2) = 0 因此,如果你没有使用DeepSee,就可以监控^OBJ.DSTIME即可获得IRIS/Cache’的数据变更。注:DeepSee在同步cube时,会自动查询、操作、删除^OBJ.DSTIME的数据,因此,将会对于直接使用它进行数据变更捕获产生影响。如果你的确在使用DeepSee自动同步cube,也想使用^OBJ.DSTIME实现CDC,请联系InterSystems获得解决方案。这不在本文的讨论范围。 开启DSTIME特性 InterSystems IRIS/Caché可以在SQL表建模时、对象模型上开启DSTIME特性。涉及2个类参数:DSTIME 和DSINTERVAL DSTIME 类参数设置为AUTO时,InterSystems IRIS/Caché会自动记录对应SQL表/持久化类的数据变更。DSINTERVAL类参数控制记录的数据变更如何分组。用于实现CDC时,建议设置该参数=1。 1. 通过SQL建模,新建SQL表 在使用SQL新建表时,可以增加对于类参数DSTIME 和DSINTERVAL的设置。 例如下面的SQL创建一个开启了DSTIME的表Demo.Patient: CREATE TABLE Demo.Patient ( %CLASSPARAMETER DSTIME = 'AUTO', EMPNUM INT NOT NULL, NAMELAST CHAR(30) NOT NULL, NAMEFIRST CHAR(30) NOT NULL, CONSTRAINT EMPLOYEEPK PRIMARY KEY (EMPNUM)) 其中%CLASSPARAMETER DSTIME = 'AUTO'开启表的DSTIME特性。 2. 通过面向对象建模,修改持久化的对象模型 对于对象模型,在建模时或之后修改模型,设置DSTIME类参数的方式开启:Parameter DSTIME = "AUTO";: Class Demo.Patient Extends %Persistent [ ClassType = persistent, DdlAllowed, Final, Owner = {_SYSTEM}, ProcedureBlock, SqlRowIdPrivate, SqlTableName = PATIENT ] { Property NAME As %Library.String(MAXLEN = 1) [ SqlColumnNumber = 2 ]; Property DOB As %Library.Date [ SqlColumnNumber = 3 ]; Parameter USEEXTENTSET = 1; Parameter DSTIME = "AUTO"; Parameter DSINTERVAL = 1; } 3. 对批量对象模型增加DSTIME特性 如果想对整个SQL Schema下对所有表或一个包下的所有对象类增加DSTIME,也可以定义一个持久化的纯虚基类,在基类中定义DSTIME类参数,然后让所有的类继承于这个基类。示例代码如下: 定义基类: Class Demo.Super Extends %Persistent [ Abstract, NoExtent ] { Parameter DSTIME = "AUTO"; } 注意,基类应该设置NoExtent关键字,以避免编译器生成存储模型。 修改子类,使Demo.Super成为其主父类: Class Demo.Patient Extends Demo.Super [ Language = objectscript ] { Property NAME As %Library.String(MAXLEN = 100) [ SqlColumnNumber = 2 ]; Property DOB As %Library.Date [ SqlColumnNumber = 3 ]; } 测试 开启DSTIME后,就可以使用SQL或对象操作方式,在InterSystems IRIS/Caché中执行一些插入、更新、删除操作,并观察持久化多维数组^OBJ.DSTIME的记录。 总结 通过开启DSTIME特性,让InterSystems IRIS/Caché自动记录需要追踪的SQL表或持久化类的数据变更,可以方便的通过^OBJ.DSTIME捕获这些变更,并处理数据变更或将变更记录输出到下游系统。 其它注意事项:应考虑在处理/输出完数据变更后,记录上次处理的DSTIME值,或删除^OBJ.DSTIME中已处理过的记录,以方便持续的、高效的捕获新的数据变更。 CDC系列 更多的CDC选项实现,请参考: 1. CDC系列之一 :使用Dejournal Filter在InterSystems IRIS/Caché上通过Mirroring实现CDC功能 2. CDC系列之二 :使用Dejournaling filter routine在Caché上通过Shadow实现CDC 3. CDC系列之三 :建立InterSystems IRIS/Caché的Global数据变更与SQL表记录的对应关系 4. CDC系列之四:使用DSTIME特性在InterSystems IRIS/Caché上实现CDC功能
公告
Claire Zheng · 九月 18, 2023

InterSystems开发者社区中文版第二届技术征文大赛正式启动!

嗨,开发者们! 秋高气爽之际,我们很高兴地宣布启动🏆InterSystems开发者社区中文版第二届技术征文大赛 🏆(←点击链接进入参赛页面,浏览所有参赛文章)! 从2023年9月19日-11月24日(北京时间),欢迎热爱InterSystems技术的你来投稿,撰写与InterSystems技术相关的文章。 🎁参与奖 我们为每一位成功参赛的作者准备了礼品! 🏆优秀文章大奖 Apple AirPods Pro; Osprey Proxima Backpack; Home Office Pro Lap Desk; Sound Machine with Wireless Charger; JBL Pulse 5 Bluetooth Speaker; Sound Machine with Wireless Charger; Hammock InterSystems; Light Up Your Logo Charging Pad; InterSystems Developer Community Blanket 奖品设置 1. 专家提名奖:活动期间发布文章且成功参赛后,由InterSystems专家评选得出 🥇第一名,Apple AirPods Pro(2nd Generation w Active Noise Cancellation) 🥈第二名,Osprey Proxima Backpack 🥉第三名,Home Office Pro Lap Desk 🏆第四名-第六名,Sound Machine with Wireless Charger 2. 开发者社区奖:活动期间发布文章且成功参赛后,由社区成员点赞评选得出,点赞前五名获得以下奖品 🥇第一名,JBL Pulse 5 Bluetooth Speaker 🥈第二名,Sound Machine with Wireless Charger 🥉第三名,Hammock InterSystems 🏆第四名,Light Up InterSystems Charging Pad 🏆第五名,InterSystems Developer Community Blanket 3. 入围奖:在征文大赛期间,所有在InterSystems开发者中文社区发布文章且成功参赛的其余用户都将获得特别奖励。 请注意: 每位作者只可以获得一个奖项(即:您只可以获得一次专家提名奖/开发者社区奖/入围奖); 在“开发者社区奖”的评选过程中,当出现票数相当的平手情况时,将以专家评选投票数作为最终票数高低的判断标准。 谁可以参加? 任何开发者社区成员,除了InterSystems的员工。创建一个账户! 关键时间节点 📝 2023年9月19日-11月23日(北京时间),文章发布与点赞收集!在社区发布文章后即可开始为您的文章收集点赞。越早发布文章,就越有时间收集更多点赞(这是您获得“开发者社区奖”的关键)。 📝 2023年11月23日(北京时间),专家打分截止(专家提名奖)。在此期间,用户可继续为文章收集点赞,赢得“开发者社区奖”。 🎉 2023年11月24日(北京时间),公布获奖名单。 参赛要求 ❗️ 征文期间,发布在中文社区的文章只要满足以下要求,将自动参加比赛,无需额外提交: 文章必须与InterSystems技术有关 文章必须以中文撰写 文章必须是100%的原创文章(可以是现有文章的延续) 文章应在InterSystems开发者中文社区首发,严禁从其他社区进行搬运 文章严禁抄袭或翻译社区现有文章 社区成员可以发布多篇文章参赛 文章字数应不少于800字,写作时请关注编辑器右下角的计数器 额外奖励 您可以自由选择任何与InterSystems技术相关的主题,如果您提交的文章中符合以下要求,将获得额外奖励票数。 资源助力 ➡️ 文章样例:FHIR 在InterSystems IRIS医疗行业版的FHIR服务器上测试和开发SMART on FHIR应用 ➡️ 文章样例:互操作 IRIS如何进行CRUD操作 ➡️ 文章样例:API 使用规范优先的方式开发REST API ➡️ 文章样例:应用 FHIR创新应用示例:使用 FHIR Cloud Server 和 IRIS for Health 对妊娠糖尿病进行连续血糖监测 ➡️ 文章样例:同一主题系列文章 数据平台与三级等保第一篇 精华文章-基于docker的一体化集成ai环境中部署机器学习深度学习模型 数据平台互操作功能运行维护管理基础-互操作消息管理 互操作进阶-第二篇:规则引擎-(第一部分) 精华文章-webgateway系列1-web-gateway介绍 ➡️ 文章样例:独立主题文章 精华文章-从软件架构发展谈业务集成技术演进与展望 精华翻译文章:什么是智慧医院数字孪生? 在intersystems-iris医疗行业版的fhir服务器上测试和开发smart-fhir应用 ➡️ 操作指导:首次加入社区,如何发帖? 如何发帖以及其他常见问题解答 如何在开发者社区上发布包含代码的帖子? 如何从 Word 或 Google Docs 发布文章 如何在帖子中突出显示 ObjectScript? 如何在其他开发者社区翻译并发布帖子 ➡️ 操作指导:更多开发者社区技能学习 【精华置顶帖】一文了解关于InterSystems开发者社区的各种积分福利! ➡️ 一起来欣赏首届技术征文大赛的文章! 专家提名奖 @Zhe Wang 获奖作品:IRIS如何进行CRUD操作 @姚 鑫 获奖作品:IRIS与Caché的23种设计模式 @聆严 周 获奖作品:使用Prometheus监控Cache集群 @John Pan 获奖作品:如何调用Ensemble/IRIS内置的HL7 V2 webservice - Java,PB9,Delphi7样例 @he hf 获奖作品:10分钟快速开发一个连接到InterSystems IRIS数据库的C#应用 @sun yao 获奖作品:前端操作自动生成BS、BP、BO 开发者社区奖 @Meng Cao 获奖作品:Caché数据库私有apache版本升级 @lizw lizw 获奖作品:关于%Dictionary.CompiledClass类在实际业务中的一些应用 @Chang Liu 获奖作品:在国产系统上安装Healthconnect2021 @shaosheng shengshao 获奖作品:HEALTHSHARE2018版如何实现AES(CBC)的HEX输出,并可以实现加密和解密 @Guangliang Zhang 获奖作品:基于cconsole.log的cache数据库的实时监控 入围奖 @water huang 获奖作品:对 %XML.PropertyParameters类的探索 @zhanglianzhu zhanglianzhu 获奖作品:Cache死循环检测和申明式事务 @li wang 获奖作品:HealthConnect访问HTTPS开头地址 @bai hongtao 获奖作品:第三方HA软件结合MIRROR使用方法探讨 @Liu Tangh 获奖作品:在Cache系统中使用负载均衡服务的探讨 @yaoguai wan 获奖作品:IRIS架构的浅显理解以及windows10、docker安装IRIS Health详解流程及部分问题浅析 @li dong 获奖作品:实现Cache/IRIS中zip文件的下载、解压及读取 @Yuxiang Niu 获奖作品:Cache中不同类型锁的理解与分析 @Vincent Wu 获奖作品:TrakCare Lab之延伸应用-护理站自动采检备管系统(NSAD)之开发 快乐分享技术,期待您的大作!✨ 🏆InterSystems开发者社区中文版第二届技术征文大赛 🏆(←点击链接进入参赛页面,浏览所有参赛文章) 如果有疑问/高见,欢迎跟帖留言! 试发
文章
Jingwei Wang · 九月 16, 2022

.Net 应用程序连接到InterSystems IRIS数据库 - 使用.net客户端组件

连接前准备: .Net 开发环境 InterSystems IRIS 客户端组件:InterSystems.Data.IRISClient.dll,这个dll文件可以再IRIS安装包中找到,在IRIS/dev/dotnet/bin/version Connection String 步骤: 在.Net 开发环境中,配置客户端组件InterSystems.Data.IRISClient.dll作为一个dependency Connection String:其中using InterSystems.Data.IRISClient 用来导入需要使用的dll文件,string connectionString = "Server = localhost; Port = 1972; Namespace = User; User ID = SQLAdmin; Password = deployment-password"是connection string。 using System; using InterSystems.Data.IRISClient; namespace ADODemo { internal class Program { static void Main(string[] args) { string connectionString = "Server = localhost; Port = 1972; Namespace = User; User ID = SQLAdmin; Password = deployment-password"; IRISADOConnection connection = new IRISADOConnection(connectionString); connection.Open(); // when finished, use the line below to close the connection // connection.Close(); } } }
公告
Claire Zheng · 九月 4, 2022

InterSystems开发者社区中文版首届技术征文大赛正式启动!

嗨,开发者们! 秋高气爽之际,我们很高兴地宣布启动🏆InterSystems开发者社区中文版首届技术征文大赛 🏆(←点击链接进入参赛页面,浏览所有参赛文章)! 从2022年9月5日-10月24日(北京时间),欢迎热爱InterSystems技术的你来投稿,撰写与InterSystems技术相关的文章。 🎁参与奖 我们为每一位成功参赛的作者准备了礼品! 🏆优秀文章大奖 Apple iPad; Beats Fit Pro; HUAWEI WATCH; Logitech键盘; WD固态硬盘;KEEP智能手环 奖品设置 1. 专家提名奖:活动期间发布文章且成功参赛后,由InterSystems专家评选得出 🥇一等奖1名,Apple iPad 🥈二等奖2名,Beats Fit Pro 🥉三等奖3名,WD 固态硬盘 2. 开发者社区奖:活动期间发布文章且成功参赛后,由社区成员点赞评选得出,点赞前五名获得以下奖品 🥇第一名,HUAWEI WATCH 3智能手表 🥈第二名,罗技(Logitech)ERGO键盘 🥉第三名-第五名,KEEP 运动智能手环 3. 入围奖:在征文大赛期间,所有在InterSystems开发者中文社区发布文章且成功参赛的其余用户都将获得特别奖励。 请注意: 每位作者只可以获得一个奖项(即:您只可以获得一次专家提名奖/开发者社区奖/入围奖); 当出现票数相当的平手情况时,将以专家评选投票数作为最终票数高低的判断标准。 谁可以参加? 任何开发者社区成员,除了InterSystems的员工。创建一个账户! 关键时间节点 📝 2022年9月5日-10月23日(北京时间),文章发布与点赞收集!在社区发布文章,呼朋引伴来点赞。越早发布文章,就越有时间收集更多点赞(这是您获得“开发者社区奖”的关键)。 🎉 2022年10月24日(北京时间),公布获奖名单。 参赛要求 ❗️ 征文期间,发布在中文社区的文章只要满足以下要求,将自动参加比赛,无需额外提交: 文章必须与InterSystems技术有关 文章必须以中文撰写 文章必须是100%的原创文章(可以是现有文章的延续) 文章应在InterSystems开发者中文社区首发,严禁从其他社区进行搬运 文章严禁抄袭或翻译社区现有文章 社区成员可以发布多篇文章参赛 文章字数应不少于800字,写作时请关注编辑器右下角的计数器 额外奖励 您可以自由选择任何与InterSystems技术相关的主题,如果您提交的文章中符合以下要求,将获得额外奖励票数。 资源助力 ➡️ 文章样例:同一主题系列文章 数据平台与三级等保第一篇 精华文章-基于docker的一体化集成ai环境中部署机器学习深度学习模型 数据平台互操作功能运行维护管理基础-互操作消息管理 互操作进阶-第二篇:规则引擎-(第一部分) 精华文章-webgateway系列1-web-gateway介绍 ➡️ 文章样例:独立主题文章 精华文章-从软件架构发展谈业务集成技术演进与展望 精华翻译文章:什么是智慧医院数字孪生? 在intersystems-iris医疗行业版的fhir服务器上测试和开发smart-fhir应用 ➡️ 操作指导:首次加入社区,如何发帖? 如何发帖以及其他常见问题解答 如何在开发者社区上发布包含代码的帖子? 如何从 Word 或 Google Docs 发布文章 如何在帖子中突出显示 ObjectScript? 如何在其他开发者社区翻译并发布帖子 ➡️ 操作指导:更多开发者社区技能学习 【精华置顶帖】一文了解关于InterSystems开发者社区的各种积分福利! 快乐分享技术,期待您的大作!✨ 🏆InterSystems开发者社区中文版首届技术征文大赛 🏆(←点击链接进入参赛页面,浏览所有参赛文章) 如果有疑问/高见,欢迎跟帖留言!
公告
Claire Zheng · 十一月 2, 2022

广而告之!寻找第500名InterSystems开发者社区(中文版)会员!

Hi!大家好! 截至11月3日中午,我们的开发者社区会员共495人!我们准备了一份惊喜礼品,准备送给第500名开发者社区会员! 那么,谁是第500名幸运的开发者社区成员呢?我们拭目以待!(*^▽^*)
文章
Claire Zheng · 六月 8, 2023

恭喜InterSystems 同事祝麟喜获重磅证书——HL7 FHIR R4 Proficiency Exam

亲爱的开发者们, 向大家分享一个好消息!InterSystems开发者中文社区版主、InterSystems高级销售工程师祝麟 ( @Lin.Zhu ) 于近日顺利通过“HL7 FHIR R4 Proficiency Exam”并取得资格认证证书! HL7 FHIR(R4)能力证书可以证明在最新和最热门的HL7标准方面达到行业公认的专业水平。考试涵盖了以下内容:FHIR原则;FHIR资源的基本概念;交换机制;一致性和实施指导;如何使用术语;如何建立安全和可靠的FHIR解决方案;FHIR维护过程;以及如何使用和处理FHIR许可和知识产权(IP)。 FHIR®(快速医疗互操作性资源)是HL7的下一代标准框架,2023年,我们推出的InterSystems IRIS医疗版互联互通套件3.0版(V3.0)就实现了与FHIR更深层的生态互通——借助强大的、打通多个互操作生态的能力,用户可以将互联互通服务和消息与其它互操作标准(如FHIR、HL7 V2)进行自动双向转换,为数据挖掘与价值实现带来更多可能性。 举例来说,在数据利用上,通过V3.0内置的FHIR资源仓库,用户可按业务需要,将互联互通文档和消息通过FHIR资源投射为SQL结构化数据,为实现“原始数据不出院、数据可用不可见”提供了技术基础,从而极大加强现有院内临床数据中心、科研数据中心以及区域健康大数据平台等数据仓库类系统的数据利用,使BI、AI/ML过程可基于数据发掘实现价值洞察,进行数字化业务闭环,把数据转化为可以持续产生价值的资产,为医院实现数据资产变现提供必要条件,全面助力医院数字化转型和生产力提升。 在应用创新上,V3.0 提供强大的FHIR生态能力(包含SMART on FHIR与CDS Hooks),支持快速开发和集成任意支持FHIR标准的、即插即用的第三方创新应用,实现数据利用最大化,为包括居民健康管理、临床决策支持、专科电子病历等打造坚实的数据和平台基础。 InterSystems作为FHIR标准在全球范围的推广者,已经在美国和亚太地区拥有众多成功案例,并且帮助越来越多的国家部署并遵循这种标准。 再次恭喜 @Lin.Zhu ✿✿ヽ(°▽°)ノ✿ 获得这一证书!
文章
Claire Zheng · 六月 8, 2023

【动画视频】对医院来说,这样的互联互通平台才有用!

医院管理者、信息中心、业务骨干,每个角色都有独特的业务诉求,InterSystems IRIS医疗版互联互通套件专为国内用户设计,可助力医院用户释放数据价值,推动应用创新!截至目前,InterSystems技术已助力150余家医院通过四级及以上医院信息互联互通标准化成熟度评测,其中,五级乙等用户近30家。
公告
Claire Zheng · 十月 12, 2023

提前与您心仪的奖品见个面吧(*^▽^*)

Hi 开发者们, 🏆InterSystems开发者社区中文版第二届技术征文大赛 🏆(←点击链接进入参赛页面,浏览所有参赛文章)正在进行中,我们为参赛作者们准备了丰富的奖品,来与您心仪的奖品见个面吧!点击此处了解活动详情。 1. 专家提名奖:活动期间发布文章且成功参赛后,由InterSystems专家评选得出 2. 开发者社区奖:活动期间发布文章且成功参赛后,由社区成员点赞评选得出 3. 入围奖:在征文大赛期间,所有在InterSystems开发者中文社区发布文章且成功参赛的其余用户都将获得特别奖励。 注意:以上示意图仅供参考,具体以实物为准。 欢迎投稿参赛! 快乐分享技术,期待您的大作!✨ 🏆InterSystems开发者社区中文版第二届技术征文大赛 🏆(←点击链接进入参赛页面,浏览所有参赛文章)