文章 姚 鑫 · 八月 23, 2022 阅读大约需 3 分钟 第十章 配置数据库(二) 第十章 配置数据库(二) 本地数据库 “本地数据库”页面显示关于系统上的数据库的以下信息: Name—数据库名称。 Mirror——如果数据库是镜像的,则镜像的名称; Directory - IRIS.DAT 文件的位置。 Size 大小 (MB) — 以 MB 为单位的数据库大小。 Status 状态 — 指定数据库是挂载、卸载还是卸载;如果已挂载,则指定它是否具有只读或读写权限。 Resource Name资源名称 — 控制对数据库的访问的数据库资源的名称; Encrypted — 指定数据库是否加密; Journal 指定数据库是否被记录; 创建本地数据库 要创建本地数据库,请导航到本地数据库页面(系统管理 > 配置 > 系统配置 > 本地数据库)。 #Caché 0 0 0 88
问题 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 87
文章 姚 鑫 · 六月 15, 2022 阅读大约需 5 分钟 第一章 锁定和并发控制制(一) 第一章 锁定和并发控制(一) 任何多进程系统的一个重要特征是并发控制,即防止不同进程同时更改特定数据元素的能力,从而导致损坏。 提供了一个锁管理系统。本文提供了一个概述。 此外,%Persistent 类提供了一种控制对象并发访问的方法,即 %OpenId() 的并发参数和该类的其他方法。这些方法最终使用本文讨论的 ObjectScript LOCK 命令。所有持久对象都继承这些方法。同样,系统会自动对 INSERT、UPDATE 和 DELETE 操作执行锁定(除非指定 %NOLOCK 关键字)。 %Persistent 类还提供方法 %GetLock()、%ReleaseLock()、%LockId()、%UnlockId()、%LockExtent() 和 %UnlockExtent()。 #SQL #Caché 0 0 0 88
文章 姚 鑫 · 四月 24, 2022 阅读大约需 2 分钟 第122章 SQL函数 RTRIM 第122章 SQL函数 RTRIM 字符串函数,它返回一个删除了尾随空格的字符串。 #SQL #Caché 0 0 0 88
文章 姚 鑫 · 一月 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 88
公告 Claire Zheng · 十二月 15, 2021 如何在开发者生态系统的各类资源中修改您的主邮箱(Primary Email Address)? 亲爱的开发者们, 如果您需要更改您的主邮箱地址(登录邮箱),同时不希望丢失任何开发者生态系统资源里的activity——在社区、Global Master、Open Exchange中的各种交流与历史活动痕迹——该如何去做呢? 很简单,我们来帮您! 1️⃣ 我们会帮您把所有资料信息从您的旧账户中转移到新账户 包括您的所有发帖、评论、艾特(@)和点赞记录,都会被保存在新账户中! 2️⃣ 如果您是 Global Masters的成员,您的级别、徽章、分数等等,也会被转移到新账户中。 3️⃣ 我们还会帮您转移您发布在 Open Exchange中的应用。 4️⃣ 除此之外,如果您只是需要停用您的旧账号(而无需转移任何活动记录),我们都可以帮您一键操作。 您所需要做的,就是通过社区email私信联系 @Irina.Podmazko,提供 : #Global Masters #Open Exchange #开发者社区官方 0 0 0 88
文章 姚 鑫 · 十二月 6, 2021 阅读大约需 2 分钟 第七章 SQL谓词 %FIND 第七章 SQL谓词 %FIND 使用位图块迭代将一个值匹配到一组生成的值。 #SQL #Caché 0 0 0 88
文章 姚 鑫 · 十一月 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 88
文章 姚 鑫 · 七月 30, 2021 阅读大约需 3 分钟 外键关键字Internal,NoCheck,OnDelete,OnUpdate 第四十一章 外键关键字 - Internal 指定此外键定义是否为内部定义(不显示在类文档中)。 用法 要将此外键定义标记为内部,请使用以下语法: ForeignKey keyname(key_props) References pkg.class(ref_index) [ Internal ]; 否则,省略此关键字或将单词Not放在关键字的前面。 详解 内部类成员不会显示在类文档中。如果想让用户看到一个类,但不看到它的所有成员,这个关键字很有用。 默认 如果省略此关键字,此外键定义将显示在类文档中。 第四十二章 外键关键字 - NoCheck 指定是否应该检查这个外键约束。 用法 要防止检查该外键定义的约束,请使用以下语法: #Caché 0 0 0 88
文章 姚 鑫 · 六月 18, 2021 阅读大约需 6 分钟 第十一章 重新定义读取器处理相关对象的方式 第十一章 重新定义读取器处理相关对象的方式 重新定义读取器处理相关对象的方式 当%XML.Reader找到与启用了XML的类相关的XML元素时,读取器会调用该类的XMLNew()方法,后者又会在默认情况下调用%New()。也就是说,当读取器找到相关元素时,它会创建相关类的新对象。新对象由从XML文档读取的数据填充。 可以通过在启用XML的类中(或在自己的自定义XML适配器中)重新定义XMLNew()来自定义此行为。例如,此方法可以改为打开该类的现有实例。然后,现有实例接收从XML文档读取的数据。 以下示例显示如何修改XMLNew()以使用XML文档中的新数据更新现有实例。 在这两个示例中,为简单起见,我们假设XML文档中的一个节点包含一个ID,我们可以将该ID与类的范围中的ID进行比较。当然,我们可以用其他方式将XML文档与现有对象进行比较。 #Caché 0 0 0 88
文章 姚 鑫 · 五月 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 88
文章 姚 鑫 · 五月 9, 2021 阅读大约需 6 分钟 第四章 多维存储的SQL和对象使用(一) 第四章 多维存储的SQL和对象使用(一) 本章介绍InterSystems IRIS®对象和SQL引擎如何利用多维存储(全局变量)来存储持久对象、关系表和索引。 尽管InterSystems IRIS对象和SQL引擎会自动提供和管理数据存储结构,但了解其工作原理的详细信息还是很有用的。 数据的对象视图和关系视图使用的存储结构是相同的。为简单起见,本章仅从对象角度介绍存储。 数据 每个使用%Storage.Persistent存储类(默认)的持久化类都可以使用多维存储(全局变量)的一个或多个节点在InterSystems IRIS数据库中存储其自身的实例。 每个持久化类都有一个存储定义,用于定义其属性如何存储在全局变量节点中。这个存储定义(称为“默认结构”)由类编译器自动管理。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 88
公告 Claire Zheng · 四月 23, 2024 Global Masters 项目自2024年4月26日起暂停服务 在InterSystems,我们致力于为您提供最优质的服务,包括我们的Global Master项目。 Global Master项目平台的供应商已经被另一家公司收购,不幸的是,我们无法继续在这个平台上托管我们Global Master项目。我们目前正在评估新的平台供应商,以推动Global Masters Advocate Hub的平稳过渡。 自2024年4月26日起,我们将暂停Global Master项目,以期平稳过度到新平台上。 FAQ: #Global Masters 0 0 0 87
文章 Hao Ma · 三月 19, 2024 阅读大约需 3 分钟 IRIS/Caché SQL优化经验分享 - 检查索引的完整性 Caché/IRIS的特点是运行Global的修改,而这个修改和SQL是无关的,因此非常容易出现数据库表数据完整性的问题,也就是表中的数据是不是符合定义的表约束。 这样的情况非常常见。有些是人为的对Global的错误修改, 有些是应用系统的事务性管理写的不对,造成事务回滚的时候破坏了索引的完整性。无论什么原因,只要使用Global操作,破坏SQL的完整性非常难以避免。结果就是SQL查询给出错误结果。 最简单的解决方法就是执行“索引检查(Validate Indices)" 我们来做个实验 - 先修改一个global: 如下图, 将Patient表的一个记录的SEX字段,从'M'改到‘F'. 运行索引检查, 结果会提示您问题在什么地方。 #SQL #新手 #InterSystems IRIS 1 0 0 87
文章 Qiao Peng · 三月 16, 2024 阅读大约需 10 分钟 IRIS 2024.1新特性 - JSON_TABLE IRIS 2024.1已经发布,它引入了诸多新特性,其中之一是JSON_TABLE。 数据表达和交换中,JSON已经是日益主流的存在。在之前的IRIS版本中,可以轻易将JSON数据以对象解析并保存到IRIS,也可以将IRIS数据使用SQL、对象等多种方式输出为JSON。对于得到的JSON序列化的数据,如果我们想通过SQL去解析,甚至进行检索和查询,就可以利用JSON_TABLE这个新特性。 对于一些大规模的JSON序列化数据,例如从FHIR服务器查询获得的FHIR资源Bundle,里面包含了大量数据。例如下面的FHIR查询结果,后面的示例以这个的复杂的JSON作为用例: #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 87
文章 姚 鑫 · 八月 19, 2023 阅读大约需 1 分钟 第三章 IRIS 编程简介 - SQL 第三章 IRIS 编程简介 - SQL SQL IRIS 提供了 SQL 的实现,称为 SQL。可以在方法和例程中使用 SQL。 从 ObjectScript 使用 SQL 可以使用以下一种或两种方式从 ObjectScript 执行 SQL: #InterSystems IRIS for Health 1 0 0 87
文章 姚 鑫 · 五月 7, 2023 阅读大约需 4 分钟 第五十一章 管理镜像 - 镜像的数据库注意事项 第五十一章 管理镜像 - 镜像的数据库注意事项 镜像的数据库注意事项 本节提供配置和管理镜像数据库时要考虑的信息: IRIS 实例兼容性 镜像中的 IRIS 实例必须以多种方式兼容,如下所示: #InterSystems IRIS 0 0 0 87
问题 liu jun · 二月 7, 2023 Why does the IRIS mirror connection cause serious network timeout? After the image is disconnected, the network returns to normal Why does the IRIS mirror connection cause serious network timeout? After the image is disconnected, the network returns to normal #InterSystems IRIS 0 1 0 86
文章 姚 鑫 · 十月 4, 2022 阅读大约需 3 分钟 第六章 CSP 架构 - 静态文件 第六章 CSP 架构 - 静态文件 静态文件 数据库服务器为所有 CSP 提供服务。 数据库服务器还可以通过 CSP 网关为 Web 应用程序提供任何类型的静态文件。在标准 Web 应用程序中,Web 服务器通常提供静态内容。要在 Caché 上运行 Zen 应用程序,必须配置 Web 服务器以允许服务器通过 CSP 网关提供所有静态文件。 注意:要运行基于 Zen 的应用程序,请启用“服务文件”选项并配置 Web 服务器以允许 Caché 服务器提供静态文件。然后 Zen 框架将能够提供依赖图像和 JavaScript 帮助文档。 #Caché 1 0 0 87
文章 姚 鑫 · 七月 20, 2022 阅读大约需 4 分钟 第二章 使用 api mgmnt 服务 第二章 使用 /api/mgmnt/ 服务 本章介绍如何使用 /api/mgmnt 服务来创建、更新和删除 REST 服务。 /api/mgmnt 服务还提供了可用于发现和记录 Web 服务的选项,如本书后面所述。 使用 /api/mgmnt 服务创建 REST 服务 创建 REST 服务的推荐方法是为 REST 服务创建 OpenAPI 2.0(也称为 Swagger)描述,并使用它来生成 REST 服务类。如果您正在实现由第三方定义的 REST 服务,他们可能会提供此 OpenAPI 2.0 描述。有关 OpenAPI 2.0 描述格式的详细信息,请参阅 OpenAPI 2.0 规范。以下主题描述了如何使用 /api/mgmnt 服务来执行此操作。 #Caché 0 0 0 87
Job Tingting Jiang · 六月 21, 2022 InterSystems热招职位(3):Technical Specialist(Product Support) InterSystems正在招聘Technical Specialist(Product Support),欢迎您的自荐、推荐。 #工作机会 0 0 0 87
文章 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 87
文章 姚 鑫 · 五月 21, 2022 阅读大约需 4 分钟 第149章 SQL函数 TRIM 第149章 SQL函数 TRIM 字符串函数,它返回删除了指定的前导和/或尾随字符的字符串。 #SQL #Caché 0 0 0 87
文章 Claire Zheng · 十月 22, 2021 阅读大约需 1 分钟 InterSystems 2021全球线上峰会邀您参会(内含福利) 10月26日-29日,InterSystems 2021全球线上峰会将聚焦于“Analytics”,为您提供全球先进经验和分享。 #网络研讨会 #全球峰会 1 0 0 87
文章 姚 鑫 · 六月 23, 2021 阅读大约需 4 分钟 第十六章 创建或编辑DOM 第十六章 创建或编辑DOM 创建或编辑DOM 要创建DOM或修改现有DOM,请使用%XML.Document的以下方法在: CreateDocument() classmethod CreateDocument(localName As %String, namespace As %String) as %XML.Document 在仅包含根元素的返回%XML.Document新实例。 AppendCharacter() method AppendCharacter(text As %String) 将新的字符数据节点追加到此元素节点的子节点列表中。当前节点指针不变;此节点仍然是追加的子节点的父节点。 #Caché 0 0 0 87
文章 姚 鑫 · 六月 22, 2021 阅读大约需 5 分钟 第十五章 XML检查属性 第十五章 XML检查属性 检查属性的基本方法 可以使用%XML.Node的以下方法。以检查当前节点的属性。 - AttributeDefined() 如果当前元素具有具有给定名称的属性,则返回非零(TRUE)。 - FirstAttributeName() 返回当前元素的第一个属性的属性名称。 - GetAttributeValue() 返回给定属性的值。如果元素没有该属性,则该方法返回NULL。 - GetNumberAttributes() 返回当前元素的属性数。 - LastAttributeName() 返回当前元素的最后一个属性的属性名称。 - NextAttributeName() 在给定属性名称的情况下,无论指定的属性是否有效,此方法都会按排序顺序返回下一个属性的名称。 - PreviousAttributeName() 在给定属性名称的情况下,无论指定的属性是否有效,此方法都会按排序顺序返回上一个属性的名称。 #Caché #InterSystems IRIS 0 0 0 87
文章 姚 鑫 · 二月 21, 2021 阅读大约需 7 分钟 第四十三章 Caché 变量大全 $ZTIMEZONE 变量 第四十三章 Caché 变量大全 $ZTIMEZONE 变量 包含格林威治子午线的时区偏移量。 大纲 $ZTIMEZONE $ZTZ 描述 $ZTIMEZONE可以通过两种方式使用: 返回计算机的本地时区偏移量。 为当前进程设置本地时区偏移量。 $ZTIMEZONE包含从格林威治子午线偏移的时区(以分钟为单位)。 (格林威治子午线包括整个英国和爱尔兰。)此偏移量表示为-1440到1440范围内的有符号整数。格林威治以西的时区指定为正数;格林威治东部的时区指定为负数。 (时区必须以分钟为单位,因为并非所有时区都以小时为单位。)默认情况下,$ZTIMEZONE初始化为计算机操作系统设置的时区。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 87
文章 Hao Ma · 三月 21, 2024 阅读大约需 1 分钟 IRIS/Caché SQL优化经验分享 - Bitmap Extent Bitmap索引是指对某个,或者某几个字段建立的bit map(位图映射)。如果是对整个表的记录,也就是表的%ID做位图映射,得到的特殊的bitmap索引在IRIS/Caché里被称为Bitmap Extent。 建立Bitmap Extent索引的目的就是加快COUNT(*)的执行。提高了多少呢? 下面两个显示的是最简单的全表查询花费的时间: 不使用Bitmap Extent : 1.3810s 使用Bitmap Extent: 0.0038 相差有几百倍。 #SQL #新手 #InterSystems IRIS 0 0 0 86
文章 姚 鑫 · 七月 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 86
文章 姚 鑫 · 六月 17, 2023 阅读大约需 4 分钟 第六十章 镜像中断程序 - 使用主 ISCAgent 的日志数据进行 DR 提升和手动故障转移 第六十章 镜像中断程序 - 使用主 ISCAgent 的日志数据进行 DR 提升和手动故障转移 使用主 ISCAgent 的日志数据进行 DR 提升和手动故障转移 如果 IRIS A 的主机系统正在运行,但 IRIS 实例没有且无法重新启动,您可以使用以下过程在通过升级后使用来自 IRIS A 的最新日志数据更新升级的 IRIS C IRIS A 的 ISCAgent。 #InterSystems IRIS for Health 1 0 0 86