文章 Claire Zheng · 九月 2, 2021 Caché从零基础到精通-第15讲 间接寻址 //player.bilibili.com/player.html?aid=674371552&bvid=BV1AU4y1H7Wc&cid=374521031&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 66
文章 Claire Zheng · 九月 2, 2021 Caché从零基础到精通-第14讲 模式匹配 //player.bilibili.com/player.html?aid=376842665&bvid=BV1uo4y1Q7KQ&cid=374520026&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 66
文章 Claire Zheng · 九月 2, 2021 Caché从零基础到精通-第13讲 关系运算符 //player.bilibili.com/player.html?aid=632675503&bvid=BV1ib4y1m7FZ&cid=400713585&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 74
文章 Claire Zheng · 九月 2, 2021 Caché从零基础到精通-第12讲 算术运算符 //player.bilibili.com/player.html?aid=249352249&bvid=BV1Ev411E7Jb&cid=374517837&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 88
文章 Claire Zheng · 九月 2, 2021 Caché从零基础到精通-第11讲 逻辑比较运算符 //player.bilibili.com/player.html?aid=931847955&bvid=BV1MM4y1T7ed&cid=374517532&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 96
文章 姚 鑫 · 九月 1, 2021 阅读大约需 3 分钟 第三章 SQL命令 ALTER USER 第三章 SQL命令 ALTER USER 修改用户密码。 #SQL #Caché 0 0 0 46
文章 姚 鑫 · 八月 31, 2021 阅读大约需 10 分钟 第二章 SQL命令 ALTER TABLE(二) 第二章 SQL命令 ALTER TABLE(二) 删除列限制 DROP COLUMN可以删除指定为逗号分隔列表的多个列定义。每个列出的列名后面必须紧跟其RESTORY或CASCADE(如果未指定,则默认为RESTRICE)和%DELDATA或%NODELDATE(如果未指定,则默认为%NODELDATA)选项。 默认情况下,删除列定义不会从数据映射中删除存储在该列中的任何数据。 要同时删除列定义和数据,请指定%DELDATA选项。 删除列定义并不删除相应的列级特权。 例如,授予用户在该列上插入、更新或删除数据的权限。 这将产生以下后果: - 如果删除了一个列,然后添加了另一个同名的列,那么用户和角色将在新列上拥有与旧列相同的特权。 - 删除列后,不可能撤销该列的对象特权。 由于这些原因,通常建议在删除列定义之前使用REVOKE命令从列中撤销列级特权。 #SQL #Caché 0 0 0 45
文章 Lele Yang · 八月 31, 2021 阅读大约需 3 分钟 FAQ 常见问题系列--系统管理篇 磁盘空间不足造成系统宕机——切忌手动删除Journal文件! 1 磁盘空间不足的常见情形1)Journal所在磁盘空间不足。造成这种情况的原因有多种,比如,Mirror中备机未处于宕机状态,因此主机保留了Journal文件。2)数据库所在磁盘空间不足。比如,集成平台上Ensemble/Health Connect/IRIS for Health的消息从未清除过,导致消息数据库DAT文件不断增大,直至将磁盘空间用尽。 我们可以看到以上两种情形下,Mirror都帮不上忙,也就是说一旦问题出现,主机和备机都没有办法立即承担起业务系统的运行,第1)种,备机可能在故障出现前就已经宕机很长一段时间而没被发现,备机的数据很可能已经与主机严重不一致。实际上,主机之所以保留了大量的journal文件没有删除,就是为了让备机同步数据时使用。第2)种,虽然配置了Mirror,但是消息主库正常情况下都是镜像库,在一个健康的Mirror中,备机和主机的镜像库数据保持同步,镜像库大小应当是相同的,假设主备机的硬件配置相同(这也是我们推荐的方式)那么磁盘空间不足在备机上同样存在。 #系统警报和监视(SAM) #监视 5 0 0 184
文章 Michael Lei · 八月 31, 2021 阅读大约需 1 分钟 InterSystems被独立研究机构Forrester评为多模型数据平台领导者 InterSystemsIRIS® 数据平台在性能、分析/搜索和事务等标准中获得最高分 转载自Forester 报告: InterSystems是一个高性能的数据平台,具有强大的支持和可靠性。InterSystems的IRIS数据平台支持关系型、对象型、文档型、键值型、立方体和多维数组,但它没有原生的图形功能。该平台不需要整合多种技术栈,从而减少了代码、系统资源和维护。客户用它来支持客户分析、物联网、支持AI/ML的应用程序、风险分析和垂直特定的用例,如医疗保健应用程序和洞察力。InterSystems的愿景侧重于一个统一的平台,以支持各种应用和洞察力。该解决方案在性能、分析、搜索和交易方面得分很高。参考客户对InterSystems很满意;一个客户说:"他们的客户支持总是超级好。"另一个客户说他们 "在一个关键任务的应用中使用了10多年,对性能和功能以及可靠性总体上很满意。" #InterSystems IRIS 0 0 0 88
文章 姚 鑫 · 八月 30, 2021 阅读大约需 9 分钟 第一章 SQL命令 ALTER TABLE(一) 第一章 SQL命令 ALTER TABLE(一) 修改表。 #SQL #Caché 0 0 0 76
文章 姚 鑫 · 八月 30, 2021 阅读大约需 12 分钟 Caché百讲,前言,Caché 简介,初识M程序,语法规则 第0讲 前言 自我介绍 大家好,我简单的自我介绍一下,我是姚鑫, 为什么开这次的课程 首先Caché,M这门技术相对比较冷门,资料方面都是英文,没有系统的相关资料,记得刚入职时学习的东西都是很基础的,稍微有一些复杂的结构变化,就不知道如何下手。之后,群里的小伙伴总有人问我,希望我出一个系统的Caché视频,这件事我也酝酿了很久,目的就是帮助到更多的同学,让每个小伙伴在日后的工作学习中能更加的得心应手。遇到困难或问题时,大家可以随时在群里咨询,群里的氛围很和谐,有很多热心的大佬,不会说有那种自己觉得简单的问题,不好意思问,没人回答的情况。只要你觉得是个问题就可以发出来。 因为这段时间比较忙,准备的比较仓促,可能有一些内容会有遗漏,大家有啥想法可以群里留言,会后可以答疑,大家可以提出来,一起探讨一下,后续的会准备的更加充分一些。 #Caché 0 0 0 189
问题 xing chen · 八月 27, 2021 镜像数据库无法激活问题 请教一下,我使用两个iris实例搭建了镜像,再将数据库同步后,备机出现了数据库无法激活的问题,报错:Database could not be activated because Write Daemon could not update mirror block。该如何解决 #InterSystems IRIS 0 1 0 92
文章 姚 鑫 · 八月 29, 2021 阅读大约需 6 分钟 精华文章----第一章 SQL中使用的符号 第一章 SQL中使用的符号 SQL中用作运算符等的字符表 符号表 每个符号的名称后跟其ASCII十进制代码值。 #Caché 0 0 0 1.4K
文章 姚 鑫 · 八月 27, 2021 阅读大约需 2 分钟 Storage关键字SqlRowIdProperty,SqlTableNumber,State,StreamLocation,Type 第153章 Storage关键字 - SqlRowIdProperty 指定SQL RowId属性。 大纲 <SqlRowIdProperty>prop</SqlRowIdProperty> 值 该元素的值是一个SQL标识符。 描述 此元素仅由从早期InterSystems产品迁移的类使用。 默认值 <SqlRowIdProperty>元素的默认值为空字符串。 第154章 Storage关键字 - SqlTableNumber 指定内部SQL表号。 大纲 <SqlTableNumber>123</SqlTableNumber> 值 该元素的值是一个表号。 #Caché 0 0 0 49
文章 姚 鑫 · 八月 26, 2021 阅读大约需 2 分钟 Storage关键字IdFunction,IdLocation,IndexLocation,SqlRowIdName 第149章 Storage关键字 - IdFunction 指定使用默认存储为持久类分配新ID值的系统函数。 大纲 <IdFunction>increment</IdFunction> 值 这个元素的值可以是increment(使用$increment函数)或sequence(使用$sequence函数)。 描述 如果持久化类不使用IdKey来确定对象ID值,则该元素允许指定用于分配ID值的函数($increment函数或$sequence函数)。 如果类使用$increment函数,则通过对<IdLocation>元素中定义的全局位置中存储的值进行递增来创建新的id。 #Caché 0 0 0 59
文章 Michael Lei · 八月 26, 2021 阅读大约需 9 分钟 SAM - 设置和添加非 IRIS 目标指标的技巧和提示 SAM - 设置和添加非 IRIS 目标指标的技巧和提示 SAM(系统警报和监视)以“功能齐全”的 docker-compose 容器集的形式提供,只要启动就可以开始以默认的仪表板监视 IRIS 实例。 使用初始配置就可以很好地了解 SAM 功能并开始对 IRIS 系统进行基本监视。 但是,当开始监视多个系统并收集大量指标数据时,需要更改一些默认设置。 为了从 SAM 获取更多价值,您还会想要添加来自其他数据源(目标)的指标。 以下技巧将帮助您在生产环境中部署 SAM,从多个目标收集指标并将这些指标组合到您自己的仪表板和图表中。 此外,您还将看到一些可能有助于探索 SAM 容器和应用程序的命令。 注意:我应该指出,其中一些技巧和提示可能不是最佳做法;这更像是一个日志,记录了我第一次如何配置 SAM 来监视相同系统上的多个服务器和非 IRIS 目标的基准。 如果您有建议,请在评论中指教 ;) 所以,记住本帖可能会随着时间的推移而有所变化,让我们开始吧; 在下面的技巧中,有重启 docker 以及启动和停止 SAM 的操作。 请通读这些技巧,确定哪些适合您,然后按照下面的相同顺序执行。 #开发运维 #性能 #文档 0 0 0 130
文章 Jingwei Wang · 八月 25, 2021 阅读大约需 4 分钟 Object Script 基础知识(二) Object Script(二) #ObjectScript #Caché #Ensemble #InterSystems IRIS 2 0 0 257
文章 姚 鑫 · 八月 25, 2021 阅读大约需 2 分钟 XData关键字XMLNamespace,DataLocation,DefaultData,Final 第145章 XData关键字 - XMLNamespace 指定XData块所属的XML名称空间。 用法 要指定XData块所属的XML名称空间,请使用如下语法: XData name [ XMLNamespace = "namespaceURL" ] { } 其中namespaceURL是XML名称空间的URI。 注意,这一项是用双引号括起来的。 详情 该关键字指定XData块所属的XML名称空间。 默认 如果省略这个关键字,则该XData块的内容不属于任何名称空间。 #Caché 0 0 0 59
文章 Jingwei Wang · 八月 25, 2021 阅读大约需 3 分钟 精华文章---Object Script 基础知识(一) Object Script(一) #ObjectScript #Ensemble #HealthShare #InterSystems IRIS 2 0 1 398
文章 姚 鑫 · 八月 24, 2021 阅读大约需 2 分钟 触发器关键字UpdateColumnList,Internal,MimeType,SchemaSpec 第141章 触发器关键字 - UpdateColumnList 指定一个或多个列,其修改将导致SQL触发触发器。 仅对TSQL可用。 用法 要指定其修改触发触发器的列,请使用以下语法: Trigger name [ Event = sqlevent, UpdateColumnList = updatecolumnlist ] { //implementation } 其中updatecolumnlist是一个列名或用逗号分隔的列名列表,用括号括起来。 详情 该关键字指定一个或多个列,其修改将触发触发器。 注意,此关键字仅对TSQL可用。 第142章 XData关键字 - Internal 指定这个XData块是否是内部的(不在类文档中显示)。 注意,类文档目前根本没有显示XData。 #Caché 0 0 0 66
文章 姚 鑫 · 八月 23, 2021 阅读大约需 2 分钟 触发器关键字OldTable,Order,SqlName,Time 第137章 触发器关键字 - OldTable 指定存储受事件影响的行或语句的旧值的转换表的名称。 用法 要指定存储旧值的转换表的名称,请使用以下语法: Trigger name [ Event = sqlevent, OldTable = oldtable, NewTable = newtable ] { //implementation } 其中oldtable是此命名空间中的SQL表的名称。 详情 每个触发器都可以通过转换表(由旧表和新表关键字指定)访问受事件影响的行或语句的旧值和新值。 默认 默认值为空字符串。 第138章 触发器关键字 - Order 在同一个EVENT和TIME有多个触发器的情况下,指定触发器应该触发的顺序。 #Caché 0 0 0 58
文章 姚 鑫 · 八月 22, 2021 阅读大约需 3 分钟 触发器关键字Foreach,Internal,Language,NewTable 第133章 触发器关键字 - Foreach 控制触发器何时被触发。 用法 Trigger name [ Event = sqlevent, Foreach = foreach ] { //implementation } 其中foreach是下列值之一: #Caché 0 0 0 88
文章 姚 鑫 · 八月 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 65
文章 姚 鑫 · 八月 20, 2021 阅读大约需 2 分钟 查询关键字SqlName,SqlProc,SqlView,SqlViewName 第125章 查询关键字 - SqlName 覆盖投影SQL存储过程的默认名称。 仅当此查询被投影为SQL存储过程时应用。 用法 要覆盖查询投射为SQL存储过程时使用的默认名称,请使用以下语法: Query name(formal_spec) As classname [ SqlProc, SqlName = sqlname ] { //implementation } 其中sqlname是SQL标识符。 详解 如果将此查询投影为一个SQL存储过程,则使用此名称作为存储过程的名称。 默认 如果忽略此关键字,查询名称将用作SQL过程名称。 第126章 查询关键字 - SqlProc 指定查询是否可以作为SQL存储过程调用。 #Caché 0 0 0 98
文章 Michael Lei · 八月 20, 2021 阅读大约需 4 分钟 IRIS ObjectScript 原生API Demo 这是一个IRIS 2020.2上的代码示例,并非InterSystems 官方支持! 本demo基于原始类描述 is based on the raw class descriptions.使用的数据类是Address, Person, Employee, Company如果要做更有吸引力的 demo, 可以添加 JSONtoString by ID的方法 用ZPM安装后从终端启动:After installation with ZPM just run from Terminal #API #ObjectScript #InterSystems Package Manager (IPM) #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 94
文章 Michael Lei · 八月 20, 2021 阅读大约需 3 分钟 用于ObjectScript的IRIS 原生API 这些API虽然在IRIS 2020.1中已经实现了,但没有被放在官方文档里。 这都是直接从Class Reference中提取的,我只是收集了它来创建第一个概述。 ObjectScript的本地API遵循其他语言平台上使用的API。它从一个静态API开始,允许用户使用Iris Connection连接到IRIS命名空间,无论是本地还是远程。连接接口允许用户实例化IRIS本地API类(%Net.DB.Iris)。然后,该实例可用于访问IRIS全局数组,管理事务,调用例程或类中实现的函数和方法,以及实例化远程迭代器。 #API #ObjectScript #InterSystems IRIS for Health Open Exchange app 0 0 0 72
问题 Michael Lei · 八月 19, 2021 一个请求的URL的大小是多少,如何增加它? 我有一个CSP页面,当我把大量的文本(例如:10000个字符)放到一个提交的表单的一个字段中时,会出现 "414 error - Request-URI Too Long"。该表格是用POST方法提交的。 根据我做的一些实验,似乎一个URL的最大尺寸是8200个字符左右。 官方的限制是什么,是否有办法增加它?我在文档中搜索了一下,但没有找到任何东西。 #CSP #Caché 0 1 0 94
文章 姚 鑫 · 八月 19, 2021 阅读大约需 4 分钟 查询关键字Private,SoapBindingStyle,SoapBodyUse,SoapNameSpace 第121章 查询关键字 - Private 指定查询是否为私有查询。 用法 要指定此查询为私有查询,请使用以下语法: Query name(formal_spec) As classname [ Private ] { //implementation } 否则,请省略此关键字或将该词放在该关键字之前。 详解 私有类成员只能由同一类(或其子类)的其他成员使用。请注意,其他语言通常使用单词Protected来描述这种可见性,使用单词Private来表示从子类不可见。 默认 如果省略此关键字,则此查询不是私有的。 第122章 查询关键字 - SoapBindingStyle 指定此查询用作Web方法时使用的绑定样式或SOAP调用机制。仅适用于定义为Web服务或Web客户端的类。 #Caché 0 0 0 60
公告 Claire Zheng · 八月 19, 2021 InterSystems开发者竞赛:InterSystems IRIS Analytics 亲爱的社区开发者们,大家好! 欢迎积极参与新一轮InterSystems开发者竞赛! 🏆 InterSystems开发者竞赛:InterSystems IRIS Analytics 🏆 竞赛时间:2021年8月23日-9月12日 奖金总额: $8,750 登录页面即可参赛: https://contest.intersystems.com #分析 #活动 #竞赛 #InterSystems IRIS #IRIS竞赛 #Open Exchange 0 0 0 147
文章 姚 鑫 · 八月 18, 2021 阅读大约需 2 分钟 属性关键字Transient,ClientName,Final,Internal 第117章 属性关键字 - Transient 指定属性是否存储在数据库中。仅适用于持久类。 用法 要指定属性不存储在数据库中,请使用以下语法: Property name As classname [ Transient ]; 否则,请省略此关键字或将该词放在该关键字之前。 详情 对于持久化类,指定属性不存储在数据库中。 请注意, IRIS验证瞬态属性的方式与验证其他属性的方式相同。例如,当保存对象时,系统会验证其所有属性,包括所有临时属性。 在子类中,可以将非瞬态属性标记为瞬态Transient,但不能反过来。 默认 如果省略此关键字,则属性不是瞬态Transient的。 第118章 查询关键字 - ClientName 此查询的客户端投影使用的别名。 用法 要在将查询投影到客户端语言时覆盖查询的默认名称,请使用以下语法: #Caché 0 0 0 58