公告 Claire Zheng · 十一月 30, 2023 InterSystems开发者社区中文版:每月摘要(2023年11月) 统计信息 ✓ 十一月发布了 18 篇新帖子: – 8篇新文章 – 8个新公告 – 2个新问题 ✓ 十一月有 49 位新成员加入✓ 截至目前共发布了 2,002 篇帖子✓ 截至目前共有 1,595 位成员加入 #摘要 #开发者社区官方 0 0 0 98
公告 Claire Zheng · 七月 2, 2023 创意社区新闻摘要#7 | InterSystems Ideas News#7 Hi 开发者社区的成员们,大家好! 欢迎关注我们第7期 InterSystems Ideas News! 本期分享如下: ✓ 创意门户已收集了 200 多个创意 ✓ 由社区成员实施的创意 ✓ 在 Grand Prix 23 竞赛中实施一个创意并获得技术奖励 ✓ 最近发布的创意 #InterSystems 想法门户 1 0 0 98
文章 姚 鑫 · 六月 14, 2023 阅读大约需 4 分钟 第五十七章 镜像中断程序 - 在手动故障转移之前确定备份是否处于活动状态 第五十七章 镜像中断程序 - 在手动故障转移之前确定备份是否处于活动状态 在手动故障转移之前确定备份是否处于活动状态 假设有两个名为 IRIS A 和IRIS B 的故障转移成员。如果 ^MIRROR 例程确认备份 (IRIS B) 在与主 (IRIS A) 丢失联系时处于活动状态,因此具有最新的来自 IRIS A 的日志数据,可以使用单个过程手动进行故障转移。当连接因主要故障而丢失时,不会造成数据丢失的风险。但是,当发生多个故障时,活动备份可能没有来自主服务器的所有最新日志数据,因为主服务器在连接丢失后继续运行了一段时间。 使用以下过程确定备份是否处于活动状态: #InterSystems IRIS for Health 1 0 1 98
文章 姚 鑫 · 五月 19, 2023 阅读大约需 3 分钟 第九章 Productions最佳实践 - Productions开发的最佳实践 第九章 Productions最佳实践 - Productions开发的最佳实践 Productions开发的最佳实践 本章是一个总体概述,旨在帮助团队成员为从事生产项目做好准备。它概述了开发任务并确定了有关 数据平台和企业集成的信息来源。本章中的信息适用于所有类型的生产项目。 项目目标 任何Productions开发项目的目标都是连接两个或多个系统。Productions是专门的软件和文档包,可为企业客户解决特定的集成问题。有关概述,请参阅互操作性产品简介。 本节从应用程序开发人员必须创建和配置以提供解决方案的软件元素的角度描述 IRIS。下一节“项目交付”总结了 IRIS 开发项目的顺序和结果。 项目交付 IRIS 产品架构支持向企业交付的各种风格: #InterSystems IRIS 1 0 0 98
文章 姚 鑫 · 三月 27, 2023 阅读大约需 4 分钟 第十章 镜像架构和规划 - 仲裁器中断的影响 第十章 镜像架构和规划 - 仲裁器中断的影响 仲裁器中断的影响 仲裁器的中断对镜像的可用性没有直接影响。但是,如果在恢复仲裁器之前发生了自动故障转移以响应主中断场景中的主中断场景5或6,则备份无法自动接管。 备份中断的影响 在主应用程序可以恢复处理之前,某些应用程序可能会经历短暂的暂停(大约是 QoS 超时)。如果没有配置仲裁器,或者如果仲裁器在备份中断之前变得不可用,则经历的暂停可能会稍微长一些(大约是QoS 超时的三倍)。如果在恢复备份之前发生主要中断,则结果是整个镜像中断。 主要和仲裁联合中断的影响 这种情况的后果在响应主要中断情况的自动故障转移中进行了介绍。简而言之,如果备份可以联系主的 ISCAgent,它就会接管;如果不是,结果是整个镜像中断,手动干预强制备份成为主要可能是一个合适的选择。 #Caché 0 0 0 98
公告 Claire Zheng · 十一月 2, 2022 【动画视频】要想运维功夫硬,日常应该怎么做? 构建系统夯基础,日常运维是保障。运维工作杂又细,业务连续是关键。等保评级都看它,日常练兵保安全。日常运维很重要,想要干好不容易。要想运维功夫硬,日常应该怎么做? #视频 #InterSystems IRIS for Health 1 0 0 98
文章 姚 鑫 · 八月 20, 2022 阅读大约需 3 分钟 第七章 配置命名空间(二) 第七章 配置命名空间(二) 将全局、例程和包映射添加到命名空间 除了可以访问映射数据库中的全局变量和例程之外,还可以映射来自相同或不同系统上的其他数据库的全局变量、例程和类包。这允许对可以存在于任何地方的数据进行简单引用,并且是命名空间的主要特征。可以映射整个全局变量或全局变量;此功能允许数据轻松跨磁盘。 注意:映射按字母顺序排序;如果指定了下标,则按名称和下标排序。 单击适当的选项开始映射: Global Mappings Routine Mappings Package Mappings Mapping Data to All Namespaces 以下是映射如何在示例航空公司预订应用程序中工作的示意图: 数据和程序存储在数据库数据库中,即物理存储位置,并由名称空间引用,即逻辑引用。 #Caché 0 0 0 98
问题 Michael Lei · 四月 14, 2022 如何从抽象类获得所有扩展类?How to get all extended classes from abstract class 答案见文档:https://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?... #Caché 0 1 0 97
问题 sun yao · 七月 1, 2022 %XML.XPATH.Document的CreateFromFile方法 解析https的webService服务报错 unsupported protocol %XML.XPATH.Document中CreateFromFile方法,pSource入参传https开头的webService地址,解析报错“错误 #6901: XSLT XML转换器错误: unsupported protocol in URL in at line 0 offset 0” #Ensemble 1 1 0 97
文章 姚 鑫 · 五月 21, 2022 阅读大约需 4 分钟 第149章 SQL函数 TRIM 第149章 SQL函数 TRIM 字符串函数,它返回删除了指定的前导和/或尾随字符的字符串。 #SQL #Caché 0 0 0 98
文章 姚 鑫 · 一月 5, 2022 阅读大约需 3 分钟 第十五章 SQL窗口函数概述(二) 第十五章 SQL窗口函数概述(二) ROW子句 ROW子句可以与FIRST_VALUE(字段)和SUM(字段)窗口函数一起使用。 可以为其他windows函数指定它,但不执行任何操作(有或没有ROWS子句的结果相同)。 ROWS子句有两种语法形式: ROWS framestart ROWS BETWEEN framestart AND frameend Framestart和frameend有五个可能的值: #SQL #Caché 0 0 0 98
文章 Claire Zheng · 十月 22, 2021 阅读大约需 1 分钟 InterSystems 2021全球线上峰会邀您参会(内含福利) 10月26日-29日,InterSystems 2021全球线上峰会将聚焦于“Analytics”,为您提供全球先进经验和分享。 #网络研讨会 #Summit 1 0 0 98
文章 姚 鑫 · 七月 30, 2021 阅读大约需 3 分钟 外键关键字Internal,NoCheck,OnDelete,OnUpdate 第四十一章 外键关键字 - Internal 指定此外键定义是否为内部定义(不显示在类文档中)。 用法 要将此外键定义标记为内部,请使用以下语法: ForeignKey keyname(key_props) References pkg.class(ref_index) [ Internal ]; 否则,省略此关键字或将单词Not放在关键字的前面。 详解 内部类成员不会显示在类文档中。如果想让用户看到一个类,但不看到它的所有成员,这个关键字很有用。 默认 如果省略此关键字,此外键定义将显示在类文档中。 第四十二章 外键关键字 - NoCheck 指定是否应该检查这个外键约束。 用法 要防止检查该外键定义的约束,请使用以下语法: #Caché 0 0 0 98
文章 姚 鑫 · 四月 26, 2021 阅读大约需 9 分钟 第六章 SQL性能分析工具包 第六章 SQL性能分析工具包 本章介绍可用于主动分析特定SQL语句的分析工具。这些工具收集有关这些SQL语句执行的详细信息。使用这些信息,开发人员可以采取措施提高低效SQL语句的性能。 根据请求的详细程度,此活动分析可能会显著增加服务器上的负载。因此,SQL性能分析工具包旨在进行协调一致的代码分析工作。它不是用来连续监视执行代码的。 分析工具界面 SQL性能分析工具包为开发人员和支持专家提供了分析特定SQL语句或语句组的能力。通过在执行特定SQL语句期间使用这些工具,它们可以收集详细信息,这些信息可用于单独或跨活动工作负载分析有问题的语句。 要记录的细节级别是可配置的,最细粒度的设置在模块级别收集信息,为语句的查询计划中的不同“步骤”提供信息。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 98
公告 Claire Zheng · 一月 7, 2021 Global Masters_ Open Exchange 上每个 ZPM 应用程序的奖励积分 亲爱的社区用户,您好! 您可能知道,您在 Open Exchange 上每发布一个应用程序都会获得 Global Masters 积分奖励。 最近,我们针对 ZPM 应用程序推出了附加积分。 现在,您的每个 ZPM 应用程序都会为您赢得额外的 400 积分!积分将自动调整。 立即查看 Global Masters 上的积分和可用奖励! #InterSystems Package Manager (IPM) #Global Masters #Open Exchange 0 0 0 98
公告 Claire Zheng · 九月 4, 2023 第二届InterSystems Idea 创意马拉松获奖名单公布! 大家好! 我们的第二届 InterSystems Idea-A-Thon创意马拉松顺利结束,产生了29 个与竞赛主题相关的精彩创意: 💡使用 InterSystems IRIS 快速、安全、绿色地运行解决方案💡 感谢大家的想法、评论和投票! 现在是时候宣布获奖者了! #竞赛 #InterSystems 想法门户 0 0 0 97
文章 姚 鑫 · 十月 4, 2022 阅读大约需 3 分钟 第六章 CSP 架构 - 静态文件 第六章 CSP 架构 - 静态文件 静态文件 数据库服务器为所有 CSP 提供服务。 数据库服务器还可以通过 CSP 网关为 Web 应用程序提供任何类型的静态文件。在标准 Web 应用程序中,Web 服务器通常提供静态内容。要在 Caché 上运行 Zen 应用程序,必须配置 Web 服务器以允许服务器通过 CSP 网关提供所有静态文件。 注意:要运行基于 Zen 的应用程序,请启用“服务文件”选项并配置 Web 服务器以允许 Caché 服务器提供静态文件。然后 Zen 框架将能够提供依赖图像和 JavaScript 帮助文档。 #Caché 1 0 0 97
文章 姚 鑫 · 六月 20, 2022 阅读大约需 4 分钟 第五章 操作位和位串 第五章 操作位和位串 有时可能希望在基于数据平台的应用程序中存储一系列相关的布尔值。可以创建许多布尔变量,也可以将它们存储在数组或列表中。或者可以使用称为“位串”的概念,它可以定义为位序列,首先呈现最低有效位。位串允许您以非常有效的方式存储此类数据,无论是在存储空间还是处理速度方面。 位串可以以两种方式之一存储,作为压缩字符串或整数。如果在没有上下文的情况下听到术语“位串”,则表示位序列存储为压缩字符串。本文向介绍了这两种类型的位串,然后介绍了一些可用于操作它们的技术。 将位序列存储为位串 存储位序列的最常见方式是在位串中,这是一种特殊的压缩字符串。除了节省存储空间外,还可以使用 ObjectScript 系统函数有效地操作位串。 这样的系统函数是 $factor,它将整数转换为位串。我们可以通过执行以下语句将整数 11744 转换为位串: set bitstring = $factor(11744) 要查看位串内容的表示,可以使用 zwrite 命令: #SQL #Caché 0 0 0 97
文章 姚 鑫 · 六月 17, 2022 阅读大约需 7 分钟 第三章 锁定和并发控制(三) 第三章 锁定和并发控制(三) 升级锁 使用升级锁来管理大量锁。当锁定数组的节点时,它们是相关的,特别是当将多个节点锁定在同一下标级别时。 当给定进程在同一数组中的给定下标级别创建了超过特定数量(默认为 1000)的升级锁时, 将删除所有单独的锁名称并用新锁替换它们。新锁位于父级,这意味着数组的整个分支被隐式锁定。示例(如下所示)演示了这一点。 应用程序应在合适的情况下尽快释放特定子节点的锁(与非升级锁完全相同)。当释放锁时, 会减少相应的锁计数。当的应用程序移除足够多的锁时,会移除父节点上的锁。第二小节显示了一个示例。 锁升级示例 假设有 1000 个^MyGlobal("sales","EU",salesdate) 形式的锁,其中 salesdate 表示日期。锁表可能如下所示: #SQL #Caché 0 0 0 97
文章 Michael Lei · 五月 30, 2022 阅读大约需 1 分钟 部分IRIS 2022 年度编程大奖赛作品展示——FHIR 匿名化代理软件(实现FHIR数据动态匿名化) 你好,我很高兴地宣布向OpenExchange和目前的比赛提交的一个作品,即FHIR匿名化代理。FHIR匿名化代理为任何现有的FHIR服务器增加了一个透明的匿名化层,使客户能够在FHIR服务器上进行查询--其中可能包含个人识别信息--并收到一个即时的匿名化数据版本。 代理机制是通过互操作性Production、BPLs和DTLs以及FHIR互操作性适配器在IRIS for Health平台上实现的。匿名化包括所有身份ID和个人数据,并可通过DTLs进行配置。 OpenExchange的演示应用程序带有一个内置的FHIR endpoint,并以会填充一些示例数据。试一下,或者将你自己的FHIR服务器配置为代理目标亲自测试一下 #数据转换语言(DTL) #FHIR #业务流程 (BPL) #互操作性 #InterSystems IRIS for Health Open Exchange app 0 0 0 97
文章 Michael Lei · 五月 15, 2022 阅读大约需 1 分钟 Debug最佳实践: 使用锁来做断点 Hi, 社区! 想和大家分享一下俄罗斯论坛上的一个Debug方法。 假设我想对应用程序进行Debug,我想让它在某一行停止执行。 在代码中加入这一行: l +d,-d 当我想在这一行中开始调试时,我在终端中屏蔽了d USER> l +d 执行该应用程序。 应用程序在这一行停止,让我用Studio调试器连接到它。 为了释放锁,我在终端做了以下工作 USER> l -d 还有其他好的Debug 建议吗? #ObjectScript #调试 #Caché 0 0 0 97
文章 姚 鑫 · 一月 19, 2022 阅读大约需 3 分钟 第二十八章 SQL函数 CHAR_LENGTH 第二十八章 SQL函数 CHAR_LENGTH 返回表达式中的字符数的函数。 大纲 CHAR_LENGTH(expression) 参数 expression - 表达式,可以是列名、字符串文字或另一个标量函数的结果。底层数据类型可以是字符类型(如CHAR或VARCHAR)、数字或数据流。 CHAR_LENGTH返回整数数据类型。 描述 CHAR_LENGTH返回一个整数值,表示指定表达式中的字符数,而不是字节数。表达式可以是字符串,也可以是任何其他数据类型,如数字或数据流字段。返回的整数计数包括前导和尾随空格以及字符串终止字符。如果传递NULL值,则CHARACTER_LENGTH返回NULL,如果传递空字符串(‘’)值,则返回0。 #SQL #Caché 0 0 0 97
公告 Claire Zheng · 十一月 14, 2021 大突破:全球开发者社区已有1万名成员! 中国开发者社区不到一年时间突破270人!增速全球第一! 亲爱的开发者们,我们很高兴地跟大家分享一个好消息! 我们的社区全球注册会员突破10000名!中国开发者社区不到一年时间突破270人!增速全球第一!这是一个了不起的成就!感谢大家的支持🎊 在InterSystems,我们相信社区的力量。所以我们非常感谢你们在过去六年里所做的贡献,并期待未来的道路! #开发者社区官方 1 0 0 97
文章 姚 鑫 · 十一月 11, 2021 阅读大约需 8 分钟 第七十三章 SQL命令 SET OPTION 第七十三章 SQL命令 SET OPTION 设置执行选项。 大纲 SET OPTION option_keyword = value 描述 SET OPTION语句用于设置执行选项,如编译模式、SQL配置设置和控制日期、时间和数字约定的区域设置。 每个set option语句只能设置一个关键字选项。 SET OPTION支持以下选项: #SQL #Caché 0 0 0 97
文章 姚 鑫 · 十月 22, 2021 阅读大约需 6 分钟 第五十三章 SQL命令 INSERT(二) 第五十三章 SQL命令 INSERT(二) 流数据 可以将以下类型的数据值插入到流字段中: #SQL #Caché 0 0 0 97
文章 姚 鑫 · 八月 21, 2021 阅读大约需 3 分钟 查询关键字WebMethod,CodeMode,Event,Final 第129章 查询关键字 - WebMethod 指定这个类查询是否为web方法。 仅应用于定义为web服务或web客户端的类。 用法 要指定这个查询是一个web方法,请使用以下语法: Query name(formal_spec) As classname [ WebMethod ] { //implementation } 否则,忽略该关键字或将Not放在该关键字之前。 详情 这个关键字指定这个类查询是否是一个web方法,是否可以通过SOAP协议调用。 默认 如果忽略此关键字,则无法以web方法调用查询。 生成的类 当你将这个关键字添加到类查询并编译类时,类编译器会生成两个额外的类: #Caché 0 0 0 97
文章 Claire Zheng · 七月 6, 2021 Caché从零基础到精通-第6讲 数据类型 - 数字 //player.bilibili.com/player.html?aid=376583572&bvid=BV1ho4y1X7YL&cid=365370198&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 97
问题 zhangchao · 七月 17, 2024 IRIS通过JDBC连接第三方Oracle数据库如何设置字符集 IRIS通过JDBC连接第三方数据库汉字查询乱码,第三方反馈需要设置字符集,不知字符集该如何设置 #JDBC #InterSystems IRIS for Health 0 0 0 96
文章 姚 鑫 · 八月 4, 2023 阅读大约需 3 分钟 第十二章 配置Production - 添加HL7序列管理器 第十二章 配置Production - 添加HL7序列管理器 添加HL7序列管理器 HL7消息可能由于各种原因而乱序,特别是在多个处理器处理它们时。在某些情况下,需要确保按照正确的顺序处理HL7消息。在这种情况下,可以将HL7序列管理器添加到production的适当部分。 HL7序列管理器是一个业务流程,它接受传入的HL7消息(可能来自多个源),然后按照消息中的MSH:13 SequenceNumbers字段指定的顺序将消息转发到目标配置项。 序列管理器可以检测重复的消息和消息之间的时间间隔。它还确定顺序消息之间的时间间隔何时大到足以表明问题。它的灵敏度级别可以使用它的配置设置来调整。 要构建用于HL7消息路由生产的HL7序列管理器,必须创建并配置它,然后将其集成到生产中。本主题将解释每个步骤。 #InterSystems IRIS for Health 0 0 0 96
文章 姚 鑫 · 七月 8, 2023 阅读大约需 3 分钟 第五十二章 开发Productions - ObjectScript Productions - 不常见的任务 - 在目标是动态的情况下渲染连接 第五十二章 开发Productions - ObjectScript Productions - 不常见的任务 - 在目标是动态的情况下渲染连接 在目标是动态的情况下渲染连接 当用户选择业务主机时,管理门户会自动显示与给定业务主机之间的连接。例如: 为此,IRIS 读取业务主机的配置设置并使用它们。 但是,如果业务服务在运行时动态托管其目标, IRIS 将无法自动显示此类连接。在这种情况下,要显示此类连接,请实施 OnGetConnections() 回调方法。 IRIS 在呈现配置图时自动调用此方法(默认情况下不执行任何操作)。 OnGetConnections() 具有以下签名: ClassMethod OnGetConnections(Output pArray As %String, item As Ens.Config.Item) [ CodeMode = generator ] 其中参数如下: #InterSystems IRIS 0 0 0 96