文章 Michael Lei · 九月 27, 2024 阅读大约需 4 分钟 使用 GitLab 持续交付 InterSystems 解决方案 – 第 5 部分:为何使用容器 在这一系列文章中,我想向大家介绍并探讨使用 InterSystems 技术和 GitLab 进行软件开发可以采用的几种方式。 我将介绍以下主题: Git 101 Git 流程(开发流程) GitLab 安装 GitLab 工作流 持续交付 GitLab 安装和配置 GitLab CI/CD 为何使用容器 使用容器的 GitLab CI/CD 在第一篇文章中,我们介绍了 Git 基础知识、深度理解 Git 概念对现代软件开发至关重要的原因,以及如何使用 Git 开发软件。 在第二篇文章中,我们介绍了 GitLab 工作流 – 一个完整的软件生命周期流程,并介绍了持续交付。 在第三篇文章中,我们介绍了 GitLab 安装和配置以及将环境连接到 GitLab 在第四篇文章中,我们编写了 CD 配置。 在这篇文章中,我们将介绍容器以及使用容器的方法(和原因)。 #Docker #变更管理 #容器化 #持续集成 #Caché 0 0 0 93
文章 Louis Lu · 九月 2, 2024 阅读大约需 2 分钟 如何定位临时global在IRISTEMP数据库中占用的空间 当进程中的数据不需要持久化保存,但又需要用到global的高性能特性时,我们常常将数据保存在临时global中,也就是保存在IRISTEMP/CACHETEMP数据库中。 系统使用 IRISTEMP/CACHETEMP 数据库保存临时的数据,用户也可以进行同样的操作。 关于临时global以及IRISTEMP数据库的更多内容,可以参见文档 Temporary Globals and the IRISTEMP Database 以下情况global作为临时使用: #InterSystems IRIS 1 0 0 93
问题 liu bo · 八月 19, 2024 ensemble中如何调用服务上传excel文件,请求头类型multipart/form-data;出现一堆调试乱码,是文件类型设置的问题还是哪里的问题? 1.我在java中发布了一个服务提供给调用,postman中可以请求解析出数据 请求信息如下: POST /uploadPersonExcel HTTP/1.1Host: localhost:8017Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gWcache-control: no-cachePostman-Token: 1c23edfe-1e83-44c6-8f91-e06bccfd4af3 Content-Disposition: form-data; name="file"; filename="C:\Users\elite\Desktop\personinfo.xlsx ------WebKitFormBoundary7MA4YWxkTrZu0gW-- #REST API #Ensemble 0 2 0 91
问题 liu bo · 七月 6, 2024 2016.2.3 ensemble portal进不去,IIS和terminal和studio都好使Server Availability Error,有人遇到过么? csp.log日志是这个 #Web网关 #Ensemble 0 2 0 91
公告 Claire Zheng · 十二月 5, 2023 【Online Meetup】视频回放:InterSystems开发者社区第二届技术征文大赛线上分享会 2023年11月24日19:00-20:00,InterSystems开发者社区举办了“InterSystems第二届技术征文大赛线上分享会”,邀请参赛作者进行了作品分享&点评,此次分享吸引了66位开发者参会。 未参加此次会议的社区成员,可通过以下链接了解此次Meetup详情(请注意,您需要登录后申请查看视频) #见面会 #其他 #开发者社区官方 0 0 0 93
文章 姚 鑫 · 七月 21, 2023 阅读大约需 3 分钟 第六十五章 开发Productions - ObjectScript Productions - Production品及其零部件的生命周期 - Runtime 第六十五章 开发Productions - ObjectScript Productions - Production品及其零部件的生命周期 - Runtime Runtime 当Production运行时,业务服务会重复调用入站适配器的 OnTask() 方法。此 OnTask 循环由业务服务的 CallInterval 设置和 %WaitForNextCallInterval 属性控制,如下所示: #InterSystems IRIS for Health 0 0 0 93
文章 姚 鑫 · 七月 9, 2023 阅读大约需 4 分钟 第五十三章 开发Productions - ObjectScript Productions - 不常见的任务 - 使用 Ens.Director 访问设置 第五十三章 开发Productions - ObjectScript Productions - 不常见的任务 - 使用 Ens.Director 访问设置 使用 Ens.Director 访问设置 即使production未运行,类中的以下 Ens.Director 方法也允许检索生产设置: GetAdapterSettings() 返回一个数组,其中包含所标识的配置项(业务服务或业务操作)的所有适配器设置的值。该数组由设置名称下标。可以使用 IRIS $ORDER 函数来访问数组的元素。此方法的第一个参数是一个字符串,其中包含由两个竖线 (||) 分隔的产品名称和配置项名称。返回值是状态值。如果状态值不是 $$$OK,则无法找到指定的生产名称 (myProd) 和配置项名称 (myOp) 组合。 #InterSystems IRIS for Health 0 0 0 93
文章 姚 鑫 · 五月 30, 2023 阅读大约需 3 分钟 第二十章 开发Productions - ObjectScript Productions - 指定设置的默认值 第二十章 开发Productions - ObjectScript Productions - 指定设置的默认值 当定义业务主机类(可能还有适配器类)时,应该考虑如何控制这些项目的任何设置的默认值。 IRIS 可以从三个来源之一获取设置的默认值: - production定义。 - 为 IRIS 实例定义的值,但存储在production定义之外。有关信息,请参阅配置制作中的定义制作默认值。 - 主机类中定义的属性的默认值。在这种情况下,默认值由 InitialExpression 属性关键字确定。 某些设置取决于环境,例如 TCP/IP 地址或文件路径;通常,将这些设置配置为在生产之外提供它们的源,而其他设置(例如 ReplyCodeActions)是设计决策,并且很可能开发应用程序以从生产定义中检索这些设置。 可以开发作品,使配置设置来自不同的来源。主要目的是更轻松地将制作从一个 IRIS 实例转移到另一个实例,例如从测试转移到现场。 #InterSystems IRIS 0 0 0 93
文章 姚 鑫 · 五月 2, 2023 阅读大约需 5 分钟 第四十六章 管理镜像 - 更新镜像成员网络地址 第四十六章 管理镜像 - 更新镜像成员网络地址 当必须更新一个或多个镜像成员(包括主要成员)的一个或多个网络地址时,如编辑或删除故障转移成员中所述,通常会在主要成员上更改此信息。当您保存更改时,主节点将它们传播到所有连接的镜像成员(并在它们重新连接时传播到断开连接的成员)。不能更改连接的备份或异步成员上的任何镜像成员网络地址,因为镜像成员必须从主成员接收所有此类信息。但是,一般情况下有一些例外情况,如下所示: 由于 IRIS 实例的超级服务器端口是其常规配置的一部分,因此必须在本地进行更改。因此,镜像成员的超级服务器端口是唯一始终在成员本身上更新的镜像网络信息。要更改主服务器的超级服务器端口,请转到主服务器的“编辑镜像”页面,要更改备份的,请转到备份的“编辑镜像”页面,依此类推。 注意:当在“编辑网络地址”对话框中单击本地成员超级服务器端口的“编辑端口”链接时,将出现一个包含管理门户内存和启动页面的对话框,以便更改端口号。但是,不要直接转到此页面来更改镜像成员的超级服务器端口;始终使用“编辑镜像”或“编辑异步配置”页面和“编辑网络地址”对话框来进行此更改。 #InterSystems IRIS 0 0 0 93
公告 Claire Zheng · 一月 30, 2023 InterSystems 开发者社区2022年度调查 亲爱的开发者们, 非常感谢您又在 InterSystems 开发者社区度过了一年! 我们的团队日复一日地努力让它变得更好,这对我们12000+ 每一位成员都很重要! 我们想知道目前开发者社区对您有多大用处。请花点时间让我们了解您的想法,以及可以改进的地方: 👉🏼 InterSystems 开发者社区2022年度调查 👈🏼 请知悉:调查可在 5 分钟内完成。 #开发者社区官方 0 0 0 93
文章 姚 鑫 · 十二月 20, 2022 阅读大约需 3 分钟 第十九章 使用系统监视器 - 配置系统监视器命名空间 第十九章 使用系统监视器 - 配置系统监视器命名空间 配置系统监视器命名空间 当一个实例启动时,系统监视器会在每个已配置的启动命名空间中作为一个单独的进程自动启动(默认情况下仅限 %SYS)。所有系统监视器配置和设置都是特定于命名空间的。当使用 ^%SYSMONMGR 进行更改时,更改仅影响启动该实用程序的命名空间。 注意:^%SYSMONMGR 的所有实例都将消息写入同一系统监视器日志。可以从任何命名空间配置启动命名空间。 当在主菜单中输入 3 时,将显示以下菜单: 1) Configure Components 2) Configure Startup Namespaces 3) Exit 输入 2 以显示配置命名空间的选项: 1) List Startup Namespaces 2) Add Namespace 3) Delete Namespace 4) Exit 输入 1 以列出当前配置的启动命名空间。 #Caché 0 0 0 93
文章 姚 鑫 · 五月 26, 2022 阅读大约需 2 分钟 第153章 SQL函数 UCASE 第153章 SQL函数 UCASE 将字符串中的所有小写字母转换为大写字母的大小写转换函数。 大纲 UCASE(string-expression) {fn UCASE(string-expression)} 参数 string-expression - 要将其字符转换为大写的字符串。表达式可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR)。 描述 UCASE 将小写字母转换为大写以进行显示。它对非字母字符没有影响;它保留不变的数字、标点符号和前导或尾随空格。 请注意,UCASE 可用作 ODBC 标量函数(使用花括号语法)或 SQL 通用函数。 UCASE 不强制将数字解释为字符串。 SQL 从数字中删除前导零和尾随零。指定为字符串的数字保留前导零和尾随零。 #SQL #Caché 0 0 0 93
文章 姚 鑫 · 三月 8, 2022 阅读大约需 1 分钟 第七十五章 SQL函数 LEFT 第七十五章 SQL函数 LEFT 标量字符串函数,返回从字符串表达式的开始(最左位置)开始的指定数量的字符。 大纲 {fn LEFT(string-expression,count)} 参数 string-expression - 字符串表达式,它可以是列的名称、字符串字面值或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(如CHAR或VARCHAR)。 count - 整数,指定从字符串表达式的起始位置返回的字符数。 描述 LEFT返回从字符串开始的指定字符数。 LEFT不填充字符串; 如果指定的字符数大于字符串中的字符数,则LEFT返回该字符串。 如果传递给任何一个参数一个NULL值,左返回NULL。 LEFT只能用作ODBC标量函数(使用花括号语法)。 #SQL #Caché 0 0 0 93
文章 姚 鑫 · 一月 10, 2022 阅读大约需 1 分钟 第二十章 SQL函数 ATAN 第二十章 SQL函数 ATAN 一个标量数值函数,返回角的正切的弧切值(以弧度为单位)。 大纲 {fn ATAN(numeric-expression)} 参数 numeric-expression - 一个数值表达式。 这是这个角的正切。 ATAN返回NUMERIC或DOUBLE数据类型。 如果数值表达式是数据类型DOUBLE, ATAN返回DOUBLE; 否则,返回NUMERIC。 #SQL #Caché 0 0 0 93
文章 姚 鑫 · 十月 6, 2021 阅读大约需 2 分钟 第三十七章 SQL命令 DROP ROLE 第三十七章 SQL命令 DROP ROLE 删除角色 大纲 DROP ROLE role-name 参数 role-name - 要删除的角色的名称。名称是一个标识符。角色名称不区分大小写。 描述 DROP ROLE语句删除角色。删除角色时, IRIS会将其从已授予该角色的所有用户和角色中撤消,并将其从数据库中删除。 可以通过调用$SYSTEM.SQL.Security.RoleExists()方法来确定角色是否存在。如果尝试删除不存在(或已被删除)的角色,则DROP ROLE将发出SQLCODE-118错误。 #SQL #Caché 0 0 0 93
文章 姚 鑫 · 九月 18, 2021 阅读大约需 4 分钟 第十九章 SQL命令 CREATE TABLE(六) 第十九章 SQL命令 CREATE TABLE(六) WITH子句,%CLASSPARAMETER关键字,STORAGETYPE关键字 可选的WITH子句可以在表格元素逗号结尾的圆括号之后和Shard Key定义(如果存在的话)之后指定。 WITH子句可以包含一个用逗号分隔的列表: - 一个或多个%CLASSPARAMETER 子句。 - STORAGETYPE子句 #SQL #Caché 0 0 0 93
文章 姚 鑫 · 八月 12, 2021 阅读大约需 3 分钟 属性关键字Aliases,Calculated,Cardinality,ClientName 第九十三章 属性关键字 - Aliases 指定此属性的其他名称,以便通过对象访问使用。 用法 要为属性指定其他名称,请使用以下语法: Property name As classname [ Aliases=othernames ]; 其中othernames是用逗号分隔的有效属性名列表,用大括号括起来。 详解 如果指定别名关键字,编译器会创建一个或多个给定的别名,这些别名指向原始属性所指向的同一基础数据。例如,重新定义Sample.Person的Name属性,如下所示: Property Name As %String(POPSPEC = "Name()") [ Aliases = {Alternate}, Required ]; 然后,代码可以使用Name属性或等效的Alternate属性,如以下终端会话所示: #Caché 0 0 0 93
文章 Michael Lei · 九月 27, 2024 阅读大约需 8 分钟 使用 GitLab 持续交付 InterSystems 解决方案 – 第 4 部分:CD 配置 在这一系列文章中,我想向大家介绍并探讨使用 InterSystems 技术和 GitLab 进行软件开发可以采用的几种方式。 我将介绍以下主题: Git 101 Git 流程(开发流程) GitLab 安装 GitLab 工作流 持续交付 GitLab 安装和配置 GitLab CI/CD 在第一篇文章中,我们介绍了 Git 基础知识、深度理解 Git 概念对现代软件开发至关重要的原因,以及如何使用 Git 开发软件。 #Git #变更管理 #持续集成 #新手 #系统管理 #部署 #Caché 0 0 0 92
文章 姚 鑫 · 八月 28, 2024 阅读大约需 2 分钟 第九章 创建和使用策略 - 创建并附加策略 第九章 创建和使用策略 - 创建并附加策略 创建并附加策略 要创建策略并将其附加到Web 服务或客户端,请创建并编译配置类。有多种方法可以创建此类: 使用 GeneratePolicyFromWSDL() 方法从 WSDL 生成配置类。如果 Web 服务或客户端类已存在,并且您不想重新生成,则适用此选项。 为现有的 Web 服务或客户端手动创建配置类。 如果从 WSDL 生成策略类,则可能需要按下一节所述对其进行编辑。 从 WSDL 生成策略 在某些情况下,可能已经有客户端类,但没有相应的配置类。例如,如果从 WSDL 生成客户端类,而 WSDL 后来被修改为包含 WS-Policy 信息,则可能会发生这种情况。在这种情况下,可以使用 %SOAP.WSDL.Reader中的实用程序方法单独生成配置类,如下所示: #Java #SOAP #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 92
文章 Louis Lu · 七月 1, 2024 阅读大约需 2 分钟 新数据类型 VECTOR 的限制 在 OEX 最近一次编程竞赛之后,我有一些令人惊讶的发现。几乎所有的应用程序都是基于人工智能与预制 Python 模块的结合。但深入研究后发现,所有示例都使用了 IRIS 的相同技术组件。 从 IRIS 的角度来看,无论是搜索文本还是搜索图像或其他模式都是一样的。 其底层基本都是一样的。 这让我想起了我家里的情况。我的妻子和女儿对家里的大量裙子、衬衫和其他衣服的信息进行了整理。 但无论如何进行整理、分类、归档,我依然通过和我的妻子和女儿说话,来确定我的穿着。 无论怎样包装,其结果都是如此。 回到这次竞赛比赛:同样的 IRIS 技术内容,却有很多花哨的包装。每个人都在同一条高速公路上奔跑。没有人提到它有什么限制。 于是我试着深入挖掘,找出新数据类型 VECTOR 的使用限制。所有向量都有两个基本参数 - 静态 DATATYPE:"整型integer"(或 "int")、"double"、"十进制decimal"、"字符串 "和 "时间戳"。 - 半动态 LEN(gth): > 0 通常也称为 POSITION;纯整数。 #Python #Vector Search #InterSystems IRIS 0 0 0 92
文章 姚 鑫 · 八月 10, 2023 阅读大约需 3 分钟 第十八章 定义 HL7 搜索表 第十八章 定义 HL7 搜索表 HL7 搜索表类 EnsLib.HL7.SearchTable,自动索引填充的 HL7 属性。 如果需要搜索更多的项,可以创建一个子类。子类继承Identifier属性,以及使搜索表工作的基础结构。具体操作请参见在产品中使用虚拟文档中的“定义搜索表类”。 对于HL7, 支持PropType的附加值。除了在产品中使用虚拟文档中列出的类型之外,还可以使用DateTime:HL7。 创建搜索表时,不要使用保留的包名;参见开发产品中的“保留包名”。 默认索引的属性 当选择EnsLib.HL7。searchtable作为搜索表类,使能够在HL7消息中搜索以下虚拟属性。 MSHTypeName 消息结构名称。为了创建这个字符串,将HL7消息中的以下值连接起来: - MSH消息头段 #InterSystems IRIS for Health 0 0 0 92
文章 姚 鑫 · 七月 20, 2023 阅读大约需 3 分钟 第六十四章 开发Productions - ObjectScript Productions - Production品及其零部件的生命周期 第六十四章 开发Productions - ObjectScript Productions - Production品及其零部件的生命周期 此页面描述了Production及其组成部分的生命周期,以供参考。 Production的生命周期 Production启动 当Production开始时,动作顺序如下: #InterSystems IRIS for Health 0 0 0 92
文章 姚 鑫 · 七月 15, 2023 阅读大约需 3 分钟 第五十九章 开发Productions - ObjectScript Productions - 从管理门户进行测试 第五十九章 开发Productions - ObjectScript Productions - 测试和调试Production - 从管理门户进行测试 从管理门户进行测试 可以使用管理门户在开发、测试和调试Production时执行多项任务: 能够查看和修改系统配置。 能够启动和停止Production。 能够查看队列及其内容;消息及其详细信息;适配器和参与者及其状态;业务流程及其状态;配置项的代码和图形表示。 能够查看、排序和有选择地清除事件日志条目。 能够暂停(并稍后重新发送)连接暂时被阻止的消息。 能够使用图形用户界面或通过输入 SQL SELECT 命令,按类别或消息内容过滤和搜索消息仓库中的特定消息。 能够使用图形用户界面直观地跟踪消息活动。 能够创建和查看统计报告。 对于开发人员来说,最有用的门户功能是不断收集运行时数据的监视服务、可用于向正在开发的产品发出模拟请求的测试服务以及记录业务主机发出的状态消息的事件日志。同时使用这些功能来生成测试数据并研究结果。 #InterSystems IRIS for Health 0 0 0 92
公告 Jeff Liu · 七月 5, 2023 [视频] 为什么横向扩展就像团队合作 嗨,开发者, 欣赏InterSystems Bilibili上的新视频: ⏯为什么水平可扩展性就像团队合作 @ 2022 年全球峰会 //player.bilibili.com/player.html?aid=997773248&bvid=BV1xs4y1r7Yo&cid=1179092746&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #InterSystems IRIS 1 0 0 92
公告 Michael Lei · 七月 1, 2022 来自2022全球用户大会--最新在线培训内容上线 欢迎点击 2022在线培训6月刊, 查看我们在全球峰会上发布的新版本--包括基于云服务的在线培训, 此外,获得关于执行分析查询的最新信息,查看最新的认证考试,并尝试新的文档搜索功能。 #2022 全球峰会 #InterSystems 业务解决方案和架构 #业务流程 (BPL) #新手 #学习门户 0 0 0 92
文章 姚 鑫 · 四月 25, 2022 阅读大约需 2 分钟 第123章 SQL函数 SEARCH_INDEX 第123章 SQL函数 SEARCH_INDEX 从索引的 Find() 方法返回一组值的函数。 #SQL #Caché 0 0 0 92
文章 姚 鑫 · 九月 6, 2021 阅读大约需 5 分钟 第八章 SQL命令 CREATE METHOD(一) 第八章 SQL命令 CREATE METHOD(一) 在类中创建方法。 #SQL #Caché 0 0 0 92
文章 姚 鑫 · 二月 18 阅读大约需 2 分钟 第二十八章 T 开头的术语 第二十八章 T 开头的术语 以 T 开头的术语 表 (table) InterSystems SQL 表是一种由表示特定实体的行和表示每个实体特定数据点的列组成的数据结构。 目标角色 (target role) 系统 在受保护的 IRIS 应用中,由应用程序授予给已经是其他角色(称为匹配角色)成员的用户的角色。如果用户拥有匹配角色,则在使用应用程序时,用户还可以被授予一个或多个额外的目标角色。 目标用户 (target user) 系统 #LDAP #ObjectScript #ODBC #SQL #终端 #InterSystems IRIS for Health 0 0 0 91
文章 姚 鑫 · 八月 4, 2024 阅读大约需 2 分钟 第十二章 在 Web 服务中定义自定义处理 - 实现 ProcessBody() [toc] 第十二章 在 Web 服务中定义自定义处理 - 实现 ProcessBody() 实现 ProcessBody() ProcessBody() 方法具有以下签名: #InterSystems IRIS for Health 0 0 0 91