文章 姚 鑫 · 七月 22, 2021 阅读大约需 4 分钟 关键字触发器定义,扩展数据块,类关键字Abstract,ClassType 第九章 触发器定义 描述触发器定义的结构。 介绍 触发器是在SQL中发生特定事件时执行的代码段。InterSystems IRIS支持基于执行INSERT、UPDATE和DELETE命令的触发器。根据触发器定义,指定的代码将在相关命令执行之前或之后立即执行。每个事件可以有多个触发器,只要它们被分配了执行顺序。 可以向持久类添加触发器定义。它们在其他类中没有意义。 详情 触发器定义具有以下结构: #Caché 0 0 0 140
文章 Lele Yang · 七月 22, 2021 阅读大约需 6 分钟 FAQ 常见问题系列--Java 从IRIS数据库中读取Stream数据性能优化-Prefetch方式介绍 提示:本文包含在Java中通过JDBC Driver对Caché/IRIS数据库进行查询的示例代码。 近期有客户反应使用Java从老版本Caché中读取数据时,如果数据中包含long varchar, Caché数据库中与之对应的属性类型为%Stream.GlobalCharacter,即使实际上该流数据长度非常小,也会成十几倍的降低性能。 大家先来看一段代码, #Java #JDBC 0 2 0 126
问题 chen minjun · 七月 21, 2021 我想做Caché的全量和增量备份,查阅Caché 的官方资料推荐用VSS,遇到以下问题。 问题: 1、EnableVSSBackup这个参数在哪里设置? 2、Cache是否有自己的writer,如果有,怎样查到,叫什么名? 3、实现Cache的全量增量备份,使用VSS是否是最佳实践? 4、是否有Cache全量增量备份的实践案例,以供参考? ———————————————————————————————————————————————————————————————————————————————— 我参考这篇官方文档,在启动应用时EnableVSSBackup会默认设置为1,但是我在配置或者应用界面中并没有看到这参数。 #开发运维 #Caché 0 1 0 105
文章 姚 鑫 · 七月 21, 2021 阅读大约需 5 分钟 关键字参数定义,映射定义,属性定义,查询定义 第五章 参数定义 描述参数定义的结构。 介绍 参数定义定义了一个给定类的所有对象都可用的常数值。创建类定义时(或在编译前的任何时候),可以设置其类参数的值。默认情况下,每个参数的值都是空字符串,但是可以在参数定义中指定一个非空值。在编译时,为类的所有实例建立参数值。除了极少数例外,该值不能在运行时更改。 详解 参数定义具有以下结构: #Caché 0 0 0 74
文章 Claire Zheng · 七月 20, 2021 阅读大约需 1 分钟 扫码看回放 | InterSystems极客俱乐部线上直播课:Health Connect 系统运维培训 InterSystems极客俱乐部线上直播课“Health Connect系统运维培训”回放已准备好,欢迎您点击报名,扫码看回放! #活动 #其他 0 0 0 75
文章 姚 鑫 · 七月 20, 2021 阅读大约需 6 分钟 关键字类定义,外键定义,索引定义,方法定义 第一章 类定义 描述类定义的结构。 介绍 一个类可以包含熟悉的类元素,如属性、方法和参数(在其他类语言中称为常量)。它还可以包含通常不在类中定义的项,包括触发器、查询和索引。 详细 类定义具有以下结构: Import import_ppackage_list Include include_code IncludeGenerator include_generator_code /// description Class package.shortclassname Extends superclass_list [ class_keyword_list ] { Class_members } import_package_list(可选)指定类从中导入的任何包的名称。会影响编译器解析短类名的方式。 如果指定了此选项,则它可以是单个包的名称,也可以是多个包的逗号分隔列表,用括号括起来。 #Caché 0 0 0 82
文章 姚 鑫 · 七月 18, 2021 阅读大约需 4 分钟 第七章 将文件内容复制到另外文件 第七章 将文件内容复制到另外文件 示例 本例显示了一个使用本文前面介绍的几个%Library.File方法的样例类。 在示例类Demo.FileDemo中,ProcessFile()方法接受输入文件和输出文件,并调用SetUpInputFile()和SetUpOutputFile()打开文件,一个用于读取,另一个用于写入。然后,它逐行读取输入文件,并调用ProcessLine()对每行的内容执行一个或多个替换,将每行的新内容写入输出文件。 #Caché 0 0 0 114
文章 姚 鑫 · 七月 17, 2021 阅读大约需 4 分钟 第六章 使用%File对象 第六章 使用%File对象 如果想要操作文件本身,需要使用%Library.File的%New()方法实例化%File对象。该类还提供了允许使用该文件的实例方法。 注意:本节提供了几个使用%File对象的示例,以供说明。 对于简单的文件读写,使用%Stream.FileCharacter和%Stream.FileBinary。因为它们提供了额外的功能,例如,以正确的模式自动打开文件。 创建%File对象的实例 要使用文件,需要使用%New()方法实例化表示该文件的%File对象。该文件可能已经存在,也可能不存在于磁盘上。 以下示例在默认目录中为文件export.xml实例化一个%File对象。 #Caché 0 0 0 119
文章 姚 鑫 · 七月 16, 2021 阅读大约需 4 分钟 第五章 使用文件 第五章 使用文件 使用文件 %Library.File类提供了几个类方法,允许对文件执行各种操作。 复制文件 若要复制文件,请使用CopyFile()方法,该方法返回一个布尔值来指示成功或失败。 此方法采用四个参数: 1. from 从—指定源文件的名称。 2. to至—指定目标文件的名称。 3. pDeleteBeforeCopy —指定在执行复制之前是否删除目标文件(如果存在)。默认值为0。 4. return 返回—输出参数。如果为负,则包含操作系统返回的错误代码,以防方法失败 下面的第一个示例将目录e:\temp中的文件old.txt复制到new.txt。第二个示例将相同的文件复制到默认目录中的new.txt。 #Caché 0 0 0 77
文章 姚 鑫 · 七月 15, 2021 阅读大约需 4 分钟 第四章 使用目录 第四章 使用目录 使用目录 %Library。File类提供了几个类方法,允许对目录执行各种操作。 创建目录 若要创建目录,请使用CreateDirectory()方法,该方法返回一个布尔值来指示成功或失败。这个方法需要两个参数。第一个参数是要创建的目录的名称。第二个参数是输出参数。如果为负,它包含操作系统返回的错误代码,以防方法失败。 如果e:\temp已经存在,以下命令将失败,并显示Windows系统错误代码183,这意味着“当文件已经存在时,无法创建该文件。” #Caché 0 0 0 90
问题 Crys · 七月 14, 2021 打开最近的workspace 刚才好像发了一遍没成功 试用IRIS,关闭了workspace之后;再打开、没有project. 只能从打开最近的workspace中找,怎么回事噢?哈哈哈哈哈 #InterSystems IRIS 0 0 2 63
文章 姚 鑫 · 七月 14, 2021 阅读大约需 5 分钟 第三章 处理文件和目录名 第三章 处理文件和目录名 %Library.File类提供了几个可用于处理文件名和目录名的类方法。在大多数情况下,文件和目录不需要存在即可使用这些方法。 获取文件名和目录名 %Library.File类提供可用于获取部分文件名和目录名的类方法。 在给定完整路径名的情况下,使用GetDirectory()和GetFilename()分别获取目录和短文件名。对于此方法,不允许使用部分目录名。 DHC-APP>set filename = "e:\temp\config.txt" DHC-APP>write ##class(%File).GetDirectory(filename) E:\temp\ DHC-APP>write ##class(%File).GetFilename(filename) config.txt 在给定文件名的情况下,使用CanonicalFilename()从根目录获取完整路径: #Caché 0 0 0 74
文章 姚 鑫 · 七月 13, 2021 阅读大约需 6 分钟 第二章 使用文件和目录属性和属性 第二章 使用文件和目录属性和属性 %Library.File类还提供了许多类方法,可以使用这些方法来获取有关文件和目录的信息,或者查看或设置它们的属性和属性。 检查文件和目录是否存在 要确定给定文件是否存在,请使用Existes()方法并指定文件名作为参数。例如: DHC-APP>write ##class(%File).Exists("e:\temp\") 1 同样,要找出给定目录是否存在,请使用DirectoryExists()方法,并将该目录指定为参数。例如: DHC-APP>write ##class(%File).DirectoryExists("e:\temp") 1 如前所述,这些方法在Unix上将文件或目录名视为区分大小写,但在Windows上不区分大小写。此外,如果指定部分文件名或目录名,则该方法引用的文件或目录相对于包含正在使用的命名空间的默认全局数据库的目录。例如: #Caché 0 1 0 105
问题 li wang · 七月 13, 2021 如何实现用Cache访问共享文件夹里的文件 大家好,我想请教一个问题,如何在Health Connect实现访问共享文件夹的文件 (对文件进行读取或者写入操作,非本地文件) #Ensemble 0 6 0 155
文章 Lele Yang · 七月 13, 2021 阅读大约需 2 分钟 FAQ 常见问题系列--互操作篇 使用SQL Outbound Adapter调用Oracle存储过程获取CLOB的正确方式 近日遇到客户反映在Business Operation中使用SQL Outbound Adapter调用Oracle存储过程时,无法获取CLOB完整的返回内容。借此在这里介绍下该如何调用,话不多说,直接上代码。 注意,以下代码片段直接应用于Business Operation中, #SQL 0 1 0 124
文章 Lele Yang · 七月 13, 2021 阅读大约需 6 分钟 FAQ 常见问题系列--系统管理篇 如何在Linux上配置InterSystems IRIS服务随机自启动? 与Windows上默认安装为服务随机自启动不同,我们在Linux上安装完InterSystems IRIS后,默认是没有配置系统服务的,需要做手动配置。本文提供使用systemd方式来配置InterSystems IRIS服务随机自启动的简单示例,供大家参考。 假设我们已经安装了InterSystems IRIS产品,安装完成后您可以通过iris list来来查看实例信息,包括安装路径,如:"/intersystems/iris" #Red Hat Enterprise Linux (RHEL) 0 0 0 180
问题 Johnny Wang · 七月 13, 2021 关于Ensemble中消息形成过程的问题 各位老师好! 如下两图,是HL7信息体,在形成消息之前,我们一般会先制定文档,包括消息题、消息段、阈值;但是最终在Ensemble中形成的消息是怎么一个过程? #Ensemble 0 1 0 112
文章 姚 鑫 · 七月 12, 2021 阅读大约需 5 分钟 第一章 查询目录和驱动器 第一章 查询目录和驱动器 %Library.File(简称%File)为处理文件和目录提供了广泛的API。本文将介绍该API的主要功能。有关属性、方法和查询的规范列表,请参见类参考。 注意:如果指定了部分文件名或目录名,这些方法中的大多数都引用的项相对于包含正在使用的命名空间的默认全局数据库的目录。该目录在本文中称为“默认目录”。这条规则的任何例外都在文章中注明。 此外,仅当基础操作系统将文件名和目录名视为区分大小写时,这些方法才会将文件名或目录名视为区分大小写。也就是说,文件或目录名在Unix上区分大小写,但在Windows上不区分大小写。 #Caché 0 0 0 73
公告 jieliang liu · 七月 12, 2021 InterSystems技术文章写作大赛启动! 嗨,开发者们, 你准备好迎接新的挑战了吗? 我们很高兴地宣布第一届InterSystems技术文章写作比赛: 🏆 InterSystems技术文章写作大赛 🏆 从2021年7月15日至8月15日,写一篇与InterSystems技术有关的任何主题的文章! 每个人都有奖品: 在此期间,每个在DC上发表文章的人都将获得一个特别的奖品包! 大奖: Apple iPad 参加我们的新比赛,你的内容将被超过55K的月度读者看到! 详情如下。 #活动 #竞赛 #IRIS竞赛 #开发者社区官方 0 0 0 182
文章 姚 鑫 · 七月 10, 2021 阅读大约需 6 分钟 Caché XML Caché XML 第一章 InterSystems XML工具简介☆☆☆☆ 第二章 从对象写入XML输出☆☆☆☆☆ 第三章 指定输出的字符集☆☆☆☆☆ 第四章 添加命名空间声明☆☆☆☆☆ 第五章 生成XML元素☆☆☆☆☆ #Caché 0 0 0 151
文章 姚 鑫 · 七月 9, 2021 阅读大约需 6 分钟 第三十二章 XML基础知识概念 第三十二章 XML基础知识概念 attribute 以下形式的名值对: ID="QD5690" 属性位于元素中,如下所示,一个元素可以有任意数量的属性。 <Patient ID="QD5690">Cromley,Marcia N.</Patient> CDATA区域 表示不应该验证的文本,如下所示: #Caché 0 0 0 124
文章 姚 鑫 · 七月 8, 2021 阅读大约需 2 分钟 第三十一章 检查命名空间和类 第三十一章 检查命名空间和类 类%XML.Namespaces提供了两个类方法,可用于检查XML命名空间及其包含的类: GetNextClass() classmethod GetNextClass(namespace As %String, class As %String) as %String 返回给定XML命名空间中给定类之后的下一个类(按字母顺序)。当没有更多的类时,此方法返回NULL。 GetNextNamespace() classmethod GetNextNamespace(namespace As %String) as %String 返回给定命名空间之后的下一个命名空间(按字母顺序)。当没有更多的命名空间时,此方法返回NULL。 在这两种情况下,只考虑当前的InterSystems IRIS命名空间。此外,映射的类也会被忽略。 #Caché 0 0 0 79
文章 Claire Zheng · 七月 8, 2021 阅读大约需 3 分钟 2021 CHITEC | InterSystems IRIS医疗版互联互通套件:六大能力助力医院互联互通建设 2021年7月9日-11日,2021(16th) 中国卫生信息技术/健康医疗大数据应用交流大会暨软硬件与健康医疗产品展览会(CHITEC)在武汉国际博览中心(湖北省武汉市汉阳区鹦鹉大道619号)盛大召开,欢迎莅临InterSystems展位A6-16,了解备受瞩目的InterSystems IRIS医疗版互联互通套件。 #活动 #其他 0 1 1 489
文章 姚 鑫 · 七月 7, 2021 阅读大约需 5 分钟 第三十章 从类生成XML架构 第三十章 从类生成XML架构 本章介绍如何使用%XML.Schema从启用了XML的类生成XML架构。 概述 要生成为同一XML命名空间中的多个类定义类型的完整架构,请使用%XML.Schema构建架构,然后使用%XML.Writer为其生成输出。 从多个类构建架构 要构建XML架构,请执行以下操作: 创建%XML.Schema实例。 可以选择设置实例的属性: - 若要为任何其他未分配的类型指定命名空间,请指定DefaultNamespace属性。默认值为NULL。 - 默认情况下,类及其属性的类文档包含在模式的<annotation>元素中。 要禁用此功能,请将IncludeDocumentation属性指定为0。 注意:必须在调用AddSchemaType()方法之前设置这些属性。 #Caché 0 0 0 120
文章 姚 鑫 · 七月 6, 2021 阅读大约需 9 分钟 第二十九章 从XML架构生成类 第二十九章 从XML架构生成类 Studio提供了一个向导,该向导读取XML模式(从文件或URL),并生成一组支持XML的类,这些类对应于模式中定义的类型。 所有的类都扩展%XML.Adaptor。 指定一个包来包含类,以及控制类定义细节的各种选项。 向导还可以作为类方法使用,也可以使用该类方法。 在内部,SOAP向导在读取WSDL文档并生成web客户端或web服务时使用此方法; 注意:使用的任何XML文档的XML声明都应该指明该文档的字符编码,并且文档应该按照声明的方式进行编码。如果未声明字符编码,InterSystems IRIS将使用本书前面的“输入和输出的字符编码”中描述的默认值。如果这些默认值不正确,请修改XML声明,使其指定实际使用的字符集。 使用向导 要使用XML架构向导,请执行以下操作: 选择 Tools > Add-Ins > XML Schema Wizard. #Caché 0 0 0 127
文章 Claire Zheng · 七月 6, 2021 Caché从零基础到精通-第10讲 变量 - 局部变量,进程变量,全局变量,百分比变量,ProcedureBlock,^GETPPGINFO //player.bilibili.com/player.html?aid=631520339&bvid=BV1Db4y1r7W5&cid=365371602&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 107
文章 Claire Zheng · 七月 6, 2021 Caché从零基础到精通-第9讲 数据类型 - 日期 //player.bilibili.com/player.html?aid=761581192&bvid=BV1j64y147a2&cid=365371258&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 114
文章 Claire Zheng · 七月 6, 2021 Caché从零基础到精通-第8讲 数据类型 - 布尔 //player.bilibili.com/player.html?aid=206603198&bvid=BV1xh41167yy&cid=365370933&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 99
文章 Claire Zheng · 七月 6, 2021 Caché从零基础到精通-第7讲 数据类型 - 对象 //player.bilibili.com/player.html?aid=804002494&bvid=BV18y4y1K7Y7&cid=365370599&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 89
文章 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 73