文章 姚 鑫 · 十月 8, 2022 阅读大约需 2 分钟 第十章 CSP 架构 - Category 第十章 CSP 架构 - Category Category: AllowPrefix 如果应用程序依赖于调用以同一组字符开头的多个类或包,请使用AllowPrefix选项。 重要提示:如果应用程序依赖于调用上面列出的以外的任何类,则使用它可能是不安全的。建议确定是否需要调用此类,并为部署执行风险评估,以便了解使类可用的含义。 要使给定的Web应用程序能够调用以相同字符集开头的类或程序包,请在%sys命名空间中使用以下命令: Set ^SYS("Security", "CSP", "AllowPrefix", "web-app-name", "prefix") = value 其中 #CSP #Caché 1 0 0 52
文章 Louis Lu · 一月 7, 2021 阅读大约需 2 分钟 FAQ 常见问题系列--RHEL V7.2 上的 Caché 进程故障 RHEL V7.2 上的 Caché 进程故障 InterSystems WRC 处理了几个有关进程错误引发的问题,这些问题可以归因于 Red Hat Linux 最近的一次更新。 RHEL V7.2 (systemd-219-19.el7.x86_64) 中实现的一个新功能可能导致操作系统 IPC(进程间通信)信号量在 非系统用户注销时被解除分配(系统用户,即 UID 编号小于 1000 的用户除外)。 #版本 #Caché 0 0 0 99
文章 姚 鑫 · 二月 5, 2021 阅读大约需 4 分钟 第二十五章 Caché 变量大全 $ZB 变量 第二十五章 Caché 变量大全 $ZB 变量 包含当前I / O设备的状态信息。 大纲 $ZB 描述 $ZB包含读取操作后特定于当前I / O设备的状态信息 从终端,顺序文件或其他基于字符的I / O设备读取时,$ZB包含读取操作的终止字符。它可以是终止符(例如),如果读取操作不需要终止符,则可以是输入数据的最后一个字符;如果需要终止符但未收到终止符,则可以是空字符串(例如,如果读取操作超时)。 从磁带等基于块的I / O设备读取数据时,$ZB包含I / O缓冲区中剩余的字节数。写入磁带时,$ZB还包含I / O缓冲区中的字节数。 不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 73
文章 姚 鑫 · 二月 21, 2021 阅读大约需 7 分钟 第四十三章 Caché 变量大全 $ZTIMEZONE 变量 第四十三章 Caché 变量大全 $ZTIMEZONE 变量 包含格林威治子午线的时区偏移量。 大纲 $ZTIMEZONE $ZTZ 描述 $ZTIMEZONE可以通过两种方式使用: 返回计算机的本地时区偏移量。 为当前进程设置本地时区偏移量。 $ZTIMEZONE包含从格林威治子午线偏移的时区(以分钟为单位)。 (格林威治子午线包括整个英国和爱尔兰。)此偏移量表示为-1440到1440范围内的有符号整数。格林威治以西的时区指定为正数;格林威治东部的时区指定为负数。 (时区必须以分钟为单位,因为并非所有时区都以小时为单位。)默认情况下,$ZTIMEZONE初始化为计算机操作系统设置的时区。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 59
文章 姚 鑫 · 三月 8, 2021 阅读大约需 9 分钟 第五章 SQL定义表(三) 第五章 SQL定义表(三) 使用DDL定义表 可以使用标准DDL命令在InterSystems SQL中定义表: InterSystems SQL中可用的DDL命令 ALTER命令 ALTER TABLE,ALTER VIEW CREATE 命令 CREATE TABLE,CREATE VIEW,CREATE INDEX,CREATE TRIGGER DROP 命令 DROP TABLE,DROP VIEW,DROP INDEX,DROP TRIGGER 可以通过多种方式执行DDL命令,包括: #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 113
文章 姚 鑫 · 三月 22, 2021 阅读大约需 1 分钟 第十二章 使用嵌入式SQL(六) 第十二章 使用嵌入式SQL(六) 持久类方法中的嵌入式SQL 下面的示例显示了一个持久类,其中包含一个类方法和一个实例方法,两者都包含嵌入式SQL: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 131
文章 姚 鑫 · 三月 31, 2021 阅读大约需 15 分钟 第十四章 使用SQL Shell界面(二) 第十四章 使用SQL Shell界面(二) 存储和调用SQL语句 通过数据回调 SQL Shell自动将在终端会话期间发出的每个成功的SQL语句存储在本地缓存中,并为其分配一个顺序号。这些数字用于在当前Terminal过程中重新调用以前的SQL语句。 SQL Shell仅将数字分配给成功的SQL语句。如果在准备SQL语句期间发生错误,则不会分配任何编号。这些数字分配不是特定于名称空间的。以下是可用的数字调用命令: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 97
文章 姚 鑫 · 四月 16, 2021 阅读大约需 12 分钟 第二章 定义和构建索引(四) 第二章 定义和构建索引(四) 位片索引 当数字数据字段用于某些数值运算时,位片索引用于该字段。位片索引将每个数值数据值表示为二进制位串。位片索引不是使用布尔标志来索引数值数据值(如在位图索引中那样),而是以二进制值表示每个值,并为二进制值中的每个数字创建一个位图,以记录哪些行的该二进制数字具有1。这是一种高度专门化的索引类型,可以显著提高以下操作的性能: SUM、COUNT或AVG Aggregate计算。(位片索引不用于COUNT(*)计算。)。位片索引不用于其他聚合函数。 指定的字段 TOP n ... ORDER BY field 在范围条件运算中指定的字段,WHERE field > n 或 WHERE field BETWEEN lownum AND highnum、 SQL优化器确定是否应该使用定义的位片索引。通常,优化器仅在处理大量(数千)行时才使用位片索引。 #SQL #Caché 0 0 0 82
问题 Michael Lei · 四月 21, 2021 来自海外社区的问题: 在Linux上停止Caché DB时出现错误消息 你好, 我有redhat 8.3,在安装Caché之后,一切正常,当我通过/ usr / cachesys / cstop停止数据库时,我得到: #Caché 0 0 0 63
文章 姚 鑫 · 四月 29, 2021 阅读大约需 10 分钟 第九章 冻结计划 第九章 冻结计划 大多数SQL语句都有一个关联的查询计划。查询计划是在准备SQL语句时创建的。默认情况下,添加索引和重新编译类等操作会清除此查询计划。下次调用查询时,将重新准备查询并创建新的查询计划。冻结计划使可以跨编译保留(冻结)现有查询计划。查询执行使用冻结的计划,而不是执行新的优化并生成新的查询计划。 对系统软件的更改也可能导致不同的查询计划。通常,这些升级会带来更好的查询性能,但软件升级可能会降低特定查询的性能。冻结计划使可以保留(冻结)查询计划,以便查询性能不会因系统软件升级而改变(降级或提高)。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 72
文章 姚 鑫 · 五月 7, 2021 阅读大约需 7 分钟 第三章 使用多维存储(全局变量)(三) 第三章 使用多维存储(全局变量)(三) 在全局变量中复制数据 若要将全局变量(全部或部分)的内容复制到另一个全局变量(或局部数组)中,请使用ObjectScript Merge命令。 下面的示例演示如何使用Merge命令将OldData全局变量的全部内容复制到NewData全局变量中: Merge ^NewData = ^OldData 如果合并命令的source参数有下标,则复制该节点及其后代中的所有数据。如果Destination参数有下标,则使用目标地址作为顶级节点复制数据。例如,以下代码: Merge ^NewData(1,2) = ^OldData(5,6,7) 将^OldData(5,6,7)及其下的所有数据复制到^NewData(1,2)。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 59
问题 Michael Lei · 五月 18, 2021 来自英文社区:超时期限为(5)的TCP读取(32000)失败 大家好, 我目前正在开发TCP入站服务,以读取从使用EnsLib.TCP.CountedOutboundAdapter的TCP操作发送的一些XML。 1)我尝试过EnsLib.TCP.Inbound适配器,但是会出现此错误: 错误<Ens> ErrException:<METHOD不存在> zinitConfig + 7 ^ Ens.Host.1 *%New,EnsLib.TCP.InboundAdapter-登录为'-'数字 - @'设置..Adapter = $ classmethod(..#ADAPTER,“%New”)' 因此,适配器无法开始侦听传入的连接。 2)当我改用EnsLib.TCP.CountedXMLInboundAdapter或EnsLib.TCP.CountedInboundAdapter时,适配器开始侦听给定的端口,但OnProcessinput()方法未在pInput流中接收任何数据。流始终为空,并在事件日志中引发此错误。 #XML #Caché #Ensemble 0 1 0 102
文章 姚 鑫 · 五月 23, 2021 阅读大约需 7 分钟 第四章 收发电子邮件 第四章 收发电子邮件 本主题描述如何使用InterSystems IRIS发送和接收MIME电子邮件消息。 注意:本主题中的示例是经过组织的,因此管理电子邮件的方法可以用于不同的电子邮件服务器,这在测试和演示期间非常有用。这不一定是最适合生产需要的代码组织。 支持电子邮件协议 电子邮件使用标准协议通过Internet发送消息。 InterSystems IRIS支持以下三种协议: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 69
文章 姚 鑫 · 六月 11, 2021 阅读大约需 4 分钟 第四章 添加命名空间声明 第四章 添加命名空间声明 添加命名空间声明 默认行为 在%XML.Writer会自动插入命名空间声明,生成命名空间前缀,并在适当的地方应用前缀。例如,以下类定义: Class Sample.Person Extends (%Persistent, %Populate, %XML.Adaptor) { Parameter NAMESPACE = "http://www.yaoxin.com"; } 如果导出此类的多个对象,则会看到类似以下内容: #Caché #InterSystems IRIS 0 0 0 111
文章 姚 鑫 · 六月 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 67
文章 Claire Zheng · 七月 6, 2021 Caché从零基础到精通-第4讲 数据类型 - 字符串 //player.bilibili.com/player.html?aid=804018570&bvid=BV1sy4y1K7iA&cid=365369268&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 91
文章 姚 鑫 · 七月 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 75
文章 姚 鑫 · 八月 10, 2021 阅读大约需 3 分钟 方法关键字WebMethod,参数关键字Abstract,Constraint,Deprecated 第八十五章 方法关键字 - WebMethod 指定此方法是否为web method。仅适用于定义为web service或web客户端的类。 用法 要指定此方法是web方法,请使用以下语法: Method name(formal_spec) As returnclass [ WebMethod ] { //implementation } 否则,省略此关键字或将单词Not放在关键字的前面。 详解 此关键字指定此方法作为web方法可用,并且可以通过SOAP协议调用。 重要:在大多数情况下,web方法应该是实例方法,而不是类方法。 默认 如果省略此关键字,则该方法不能作为web method使用。 #Caché 0 0 0 100
文章 姚 鑫 · 八月 22, 2021 阅读大约需 3 分钟 触发器关键字Foreach,Internal,Language,NewTable 第133章 触发器关键字 - Foreach 控制触发器何时被触发。 用法 Trigger name [ Event = sqlevent, Foreach = foreach ] { //implementation } 其中foreach是下列值之一: #Caché 0 0 0 97
文章 Claire Zheng · 九月 2, 2021 Caché从零基础到精通-第16讲 命令概念 //player.bilibili.com/player.html?aid=975178055&bvid=BV1u44y187MF&cid=400715002&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 80
文章 姚 鑫 · 九月 6, 2021 阅读大约需 5 分钟 第八章 SQL命令 CREATE METHOD(一) 第八章 SQL命令 CREATE METHOD(一) 在类中创建方法。 #SQL #Caché 0 0 0 60
文章 姚 鑫 · 九月 19, 2021 阅读大约需 6 分钟 第二十章 SQL命令 CREATE TABLE AS SELECT 第二十章 SQL命令 CREATE TABLE AS SELECT 将现有表中的列定义和列数据复制到新表中。 #SQL #Caché 0 0 0 842
文章 姚 鑫 · 十月 5, 2021 阅读大约需 2 分钟 第三十六章 SQL命令 DROP QUERY 第三十六章 SQL命令 DROP QUERY 删除查询 #SQL #Caché 0 0 0 55
文章 姚 鑫 · 十月 19, 2021 阅读大约需 5 分钟 第五十章 SQL命令 HAVING(一) 第五十章 SQL命令 HAVING(一) 对一组数据值指定一个或多个限制性条件的SELECT子句。 大纲 SELECT field FROM table GROUP BY field HAVING condition-expression SELECT aggregatefunc(field %AFTERHAVING) FROM table [GROUP BY field] HAVING condition-expression 参数 condition-expression - 由一个或多个布尔谓词组成的表达式,用于控制要检索哪些数据值。 描述 可选的HAVING子句出现在FROM子句、可选的WHERE和GROUP BY子句之后,可选的ORDER BY子句之前。 #SQL #Caché 0 0 0 55
文章 姚 鑫 · 十一月 4, 2021 阅读大约需 9 分钟 第六十六章 SQL命令 REVOKE 第六十六章 SQL命令 REVOKE 从用户或角色中删除特权。 #SQL #Caché 0 0 0 44
文章 姚 鑫 · 十二月 18, 2021 阅读大约需 5 分钟 第十九章 SQL谓词 %STARTSWITH(一) 第十九章 SQL谓词 %STARTSWITH(一) 用指定初始字符的子字符串匹配值。 大纲 scalar-expression %STARTSWITH substring 参数 scalar-expression - 将其值与子字符串进行比较的标量表达式(最常见的是数据列)。 substring - 解析为包含与标量表达式中的值匹配的第一个或多个字符的字符串或数字的表达式。 描述 %STARTSWITH谓词允许选择以子字符串中指定的字符开头的数据值。 如果substring不匹配任何标量表达式值,%STARTSWITH返回空字符串。 无论显示模式如何,这个匹配总是在逻辑(内部存储)数据值上执行。 下面的示例选择所有以“M”开头的名称: #SQL #Caché 0 0 0 131
文章 姚 鑫 · 一月 4, 2022 阅读大约需 6 分钟 第十四章 SQL窗口函数概述(一) 第十四章 SQL窗口函数概述(一) 指定用于计算聚合和排名的每行“窗口框架”的函数。 窗口函数和聚合函数 在应用WHERE、GROUP by和HAVING子句之后,窗口函数对SELECT查询选择的行进行操作。 窗口函数将一组行中的一个(或多个)字段的值组合在一起,并在结果集中为生成的列中的每一行返回一个值。 虽然窗口函数与聚合函数类似,因为它们将多行结果组合在一起,但它们与聚合函数的不同之处在于,它们本身并不组合行。 窗函数的语法 窗口函数被指定为SELECT查询中的选择项。 窗口函数也可以在SELECT查询的ORDER BY子句中指定。 窗口函数执行与由PARTITION by子句、ORDER by子句和ROWS子句指定的逐行窗口相关的任务,并为每一行返回一个值。 这三个子句都是可选的,但是如果指定了,必须按照以下语法中的顺序指定: #SQL #Caché 0 0 0 962