全部时间
文章
· 四月 7, 2022 阅读大约需 1 分钟
第105章 SQL函数 %OID

第105章 SQL函数 %OID

返回 ID 字段的 OID 的标量函数。

大纲

%OID(id_field)

参数

  • id_field - ID 字段或引用字段的字段名称。

描述

%OID 采用字段名称并返回对象的完整 OID(对象 ID)。该字段必须是 ID 字段或引用字段(外键字段)。在 id_field 中指定任何其他类型的字段会生成 SQLCODE -1 错误。

示例

以下示例显示了与引用字段一起使用的 %OID

0 0
0 74
InterSystems 开发者社区汇聚了 24,272 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
文章
· 二月 11 阅读大约需 2 分钟
第二十一章 P 开头的术语

第二十一章 P 开头的术语

主持久超类 (primary persistent superclass)

对象(Objects)

一个类的主要持久超类决定了该类的持久行为。默认情况下,主要持久超类是超类列表中最左侧的持久超类。通常,与相同主要持久超类相关联的类的所有数据一起存储。

主卷 (primary volume)

系统

卷集中的第一个卷或唯一卷。

主设备 (principal device)

系统

与进程相关联的输入/输出设备,通常是终端或计算机键盘和显示器。对于后台进程,你可以在 JOB 命令中分配主设备,或者在系统配置编辑器中将其设置为父进程的主设备。如果不以这些方式设置设备,则后台进程的默认设备是空设备(null device)。

0 0
0 73
文章
· 十二月 5, 2024 阅读大约需 3 分钟
第四十一章 终端输入 输出 - 协议终止符

第四十一章 终端输入 输出 - 协议终止符

协议终止符

OPENUSE 协议定义了哪些 READ 输入字符、控制序列和击键被视为隐式终止符。这四种协议是 I(图像模式)、N(正常模式(默认))、R(读取行调用模式)和 T(终止符模式):

0 0
0 73
文章
· 十月 28, 2024 阅读大约需 2 分钟
配置Webgateway Conainter-补充

把CSP.conf保存在container之外

在创建webgateway的container时,可以使用ISC_DATA_DIRECTORY=参数, 选择把CSP文保存在主机而不仅仅是container内部。如下面的例子: 使用volumnes映射了主机的./dur-wg-a目录到container的/dur目录, 而command中的ISC_DATA_DIRECTORY=/dur会讲webgateway的配置文件, log文件等保存在主机。

0 0
0 73
文章
· 十月 16, 2024 阅读大约需 1 分钟
第四十九章 解决安全问题 - 可能出现的错误

第四十九章 解决安全问题 - 可能出现的错误

可能出现的错误

本节讨论 IRIS Web 服务和 Web 客户端中可能出现的与安全相关的错误:

  • 如果刚刚生成了 IRIS Web 服务或客户端,则可能尚未配置为识别 WS-Security 标头。在这种情况下,当您尝试执行 Web 方法时,会收到如下一般错误:
<ZSOAP>zInvokeClient+269^%SOAP.WebClient.1

将以下内容添加到Web服务或客户端并重新编译:

Parameter SECURITYIN="REQUIRE";

这种一般错误也可能是由于错误地调用 Web 方法(例如,在 Web 方法没有返回值时引用返回值)造成的。

如果使用 WS-Policy,则此项不适用。

1 0
0 73

在这一系列文章中,我想向大家介绍并探讨使用 InterSystems 技术和 GitLab 进行软件开发可以采用的几种方式。 我将介绍以下主题:

  • Git 101
  • Git 流程(开发流程)
  • GitLab 安装
  • GitLab 工作流
  • 持续交付
  • GitLab 安装和配置
  • GitLab CI/CD
  • 为何使用容器?
  • 容器基础架构
  • 使用容器的 CD
  • 使用 ICM 的 CD
  • 容器架构

在本文中,我们将讨论如何构建并部署您自己的容器。

0 0
0 73
文章
· 一月 4, 2024 阅读大约需 2 分钟
第十五章 创建Callout Library - 处理 UNIX 信号处理错误

第十五章 创建Callout Library - 处理 UNIX 信号处理错误

处理 UNIX 信号处理错误

UNIX 及相关操作系统下运行时,如果进程收到信号,某些系统调用可能会失败,最常见的是打开、读取、写入、关闭、ioctl 和暂停。如果函数使用任何这些系统调用,代码必须能够区分真正的错误、Ctrl-C 和应重新启动的调用。

以下函数允许检查异步事件并在 $ZF 中设置新的警报处理程序。函数声明包含在 iris-cdzf.h 中:

sigrtclr()

int sigrtclr(); — 清除重试标志。应在使用 sigrtchk() 之前调用一次。

dzfalarm()

int dzfalarm(); — 建立新的 `SIGALRM 处理程序。

进入 $ZF 时,会自动保存先前的处理程序。退出时会自动恢复。用户程序不应改变任何其他信号的处理。

0 0
0 73
文章
· 十二月 13, 2021 阅读大约需 1 分钟
第十四章 SQL谓词 IS NULL

第十四章 SQL谓词 IS NULL

确定一个数据值是否为NULL

大纲

scalar-expression IS [NOT] NULL

描述

IS NULL谓词检测未定义的值。
可以检测到所有空值,或所有非空值:

SELECT Name, FavoriteColors FROM Sample.Person
WHERE FavoriteColors IS NULL 
SELECT Name, FavoriteColors FROM Sample.Person
WHERE FavoriteColors IS NOT NULL

IS NULL / IS NOT NULL谓词是少数几个可以在WHERE子句中用于流字段的谓词之一。
如下面的例子所示:

0 0
0 73
文章
· 十月 29, 2021 阅读大约需 5 分钟
第六十章 SQL命令 JOIN(二)

第六十章 SQL命令 JOIN(二)

单向外部联接

IRIS支持单向外部联接:左外部联接和右外部联接。

使用标准的“inner”联接时,当一个表的行链接到第二个表的行时,第一个表中找不到第二个表中对应行的行将从输出表中排除。

使用单向外联接时,即使第二个表中没有匹配项,第一个表中的所有行也会包括在输出表中。使用单向外连接,第一个表会从第二个表中取出相关信息,但不会因为第二个表中缺少匹配项而牺牲自己的行。

例如,如果查询首先列出Table1并创建一个左外部联接,那么它应该能够看到Table1中的所有行,即使它们在Table2中没有对应的记录。

0 0
0 73

我们已经有一段时间没有在开发者社区上发表关于嵌入式 Git 的文章了,我想借此机会更新一下今年我们完成的大量工作以及未来的工作计划。

背景信息

如果您要在 IRIS 上构建解决方案,并想要使用 Git,那就太棒了! 只需将 VSCode 与本地 Git 仓库结合使用,并将更改推送到服务器上即可,就是这么简单。

但在以下使用场景中该怎么办:

0 0
0 72
文章
· 十一月 20, 2024 阅读大约需 3 分钟
第二十七章 TCP 客户端 服务器通信 - 连接管理

第二十七章 TCP 客户端 服务器通信 - 连接管理

连接管理

服务器一次只维护一个连接。如果第二个客户端在另一个连接打开时尝试连接,则 TCP/IP 将该客户端放入队列中。在队列中时,第二个客户端可以像已连接一样写入端口。第二个客户端写入的数据保留在缓冲区中,直到第一个连接关闭并且第二个客户端连接。

如果第二个客户端在连接存在之前发出 READ,它就会挂起。当第二个客户端在队列中时,第三个客户端的任何连接尝试都会失败。

如果已经打开 TCP 设备的客户端在第一个连接仍然存在时尝试第二次连接,则第二个 OPEN 命令会导致<COMMAND> 错误。将这种情况视为错误而不是 USE 命令可以防止出现意外结果。如果一个错误的程序认为它打开了一个新连接,而实际上它正在重用一个可能具有不同目标或不同参数的现有连接,则可能会出现这种意想不到的结果。

0 0
0 72
文章
· 十月 30, 2024 阅读大约需 2 分钟
第六章 主设备、当前设备、空设备

第六章 主设备、当前设备、空设备

明确使用主设备

USE 0USE $principal向进程的主体设备隐式发出OPEN命令。如果另一个进程拥有该设备,则该进程会挂在隐式OPEN上,就像它遇到任何OPEN时一样。

为该进程不拥有的任何其他设备(由于先前的OPEN命令)发出USE命令会产生错误。

仅当进程获取设备时,没有超时的OPEN命令才将控制权返回给进程。可以通过键盘中断命令(如Ctrl-C )中断打开命令。由于保护问题或无效设备名称而无法成功的OPEN将永远挂起。当在OPEN命令中指定超时时, OPEN将在超时到期时将控制权返回给进程。

使用主设备的选项

根据主要设备的性质,可以指定其他特定于设备的参数,这些参数对于管道(进程间通信) 、文件和终端 I/O是不同的。例如,可以使用 TLS 连接打开主设备:

1 0
0 72
文章
· 九月 29, 2024 阅读大约需 3 分钟
第三十五章 结合加密和签名

第三十五章 结合加密和签名

可以在同一条消息中加密和签名。在大多数情况下,只需组合前面主题中给出的方法即可。本主题讨论了多种场景。

使用非对称密钥签名并加密

要签名然后加密(使用非对称密钥时),请执行以下操作:

  1. 按照添加数字签名中的步骤进行操作。
  2. 按照加密安全标头元素中的步骤进行操作。

或者按照加密 SOAP 主体中的步骤进行操作。

使用非对称密钥加密并签名

要仅加密 SOAP 主体,然后添加数字签名(使用非对称密钥时),请执行以下操作:

  1. 按照加密 SOAP 主体中的步骤进行操作。
  2. 按照添加数字签名中的步骤进行操作。

要加密任何安全标头元素,然后添加数字签名(使用非对称密钥时),必须使用顶级 <ReferenceList> 元素(在文档的其他地方不需要)。在这种情况下,请执行以下操作:

0 0
0 72
文章
· 七月 7, 2024 阅读大约需 1 分钟
InterSystems 常见问题系列,如何避免ODBC查询超时

InterSystems 常见问题系列FAQ

如果要让超时功能失效, 在DSN设置查询超时为disabled:

Windows Control Panel > Administrative Tools > Data Sources (ODBC) > System DSN configuration

如果勾选了Disable query timeout , 超时就会失效.

如果想在应用侧修改,你可以在ODBC API 层设置:在连接数据源之前,调用ODBC SQLSetStmtAttr功能设置SQL_ATTR_QUERY_TIMEOUT 属性

0 0
0 72
文章
· 一月 5, 2024 阅读大约需 3 分钟
第十六章 调用Callout Library函数

第十六章 调用Callout Library函数

Callout 库是一个共享库(DLLSO 文件),其中包含 $ZF Callout 接口的挂钩,允许各种 $ZF 函数在运行时加载它并调用其函数。 $ZF Callout 接口提供了四种不同的接口,可用于在运行时加载 Callout 库并从该库调用函数。这些接口的主要区别在于如何识别库并将其加载到内存中:

0 0
0 72
文章
· 九月 13, 2023 阅读大约需 2 分钟
第二十七章 Classes - 引用其他类成员

第二十七章 Classes - 引用其他类成员

引用其他类成员

在方法中,使用下面的语法来引用其他类成员:

  • 要引用ObjectScript中的参数,使用如下表达式:
 ..#PARAMETERNAME

只能使用ObjectScript直接访问参数。要从Python访问参数,请使用ObjectScript包装器方法返回参数,并在需要时调用此方法。例如:

0 0
0 72
文章
· 十一月 2, 2022 阅读大约需 1 分钟
InterSystems IRIS医疗版的“专精特新”

门为医疗行业打造,深度整合国内外医疗行业标准,专有技术服务医疗行业44年,可能是全球最早从事医疗信息化的公司;

耕细做打磨数十年的稳定、可靠、易用、可扩展的数据平台;

色鲜明,不唯技术、终生负责、以解决客户问题为核心的特色企业文化;

0 0
0 72
文章
· 四月 21, 2022 阅读大约需 1 分钟
第119章 SQL函数 RIGHT

第119章 SQL函数 RIGHT

标量字符串函数,它从字符串表达式的末尾(最右边的位置)返回指定数量的字符。

大纲

{fn RIGHT(string-expression,count)}

参数

  • string-expression - 字符串表达式,可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR)。
  • count - 整数,指定从 string-expression 的结束(最右边)位置返回的字符数。

描述

RIGHT 从字符串表达式的末尾(最右边的位置)返回 count 个字符。如果为任一参数传递 NULL 值,RIGHT 将返回 NULL

0 0
0 72
文章
· 二月 16 阅读大约需 2 分钟
第二十五章 S 开头的术语

第二十五章 S 开头的术语

以 S 开头的术语

模式演变 (schema evolution)

对象(Objects)

模式演变允许你在不丢失使用旧类定义存储的数据访问能力的情况下,为类添加新的类成员。

搜索用户 (search user)

系统

IRIS 连接到 LDAP 服务器的用户,其权限允许搜索 LDAP 数据库。其值在 LDAP 配置页面(系统管理 > 安全 > 系统安全 > LDAP 配置)的 LDAP 搜索用户 DN 或用于搜索的 LDAP 用户名字段中指定。(请注意,如果启用了 Kerberos,页面名称和菜单选项中会包含 Kerberos。)

次要卷 (secondary volume)

系统

0 0
0 71
文章
· 二月 9 阅读大约需 2 分钟
第十八章 O 开头的术语

第十七章 O 开头的术语

以 O 开头的术语

对象 (object)

对象(Objects)

对象是一个逻辑实体,封装了表示特定项目的所有数据以及操作这些数据的接口。

对象类 (object class)

对象(Objects)

对象类代表一个特定实体。它可以具有属性,并且可以被直接实例化。

对象代码 (object code)

系统

IRIS 编译器生成的最低级别代码。该代码实际上由解释器执行。

对象标识符 (object identifier)

对象(Objects)

对象标识符(OID)在整个数据库中唯一地标识磁盘上的一个对象。OID 在对象的生命周期内有效,如果对象被删除,OID 不能被重用。

对象模型 (object model)

对象(Objects)

0 0
0 71
文章
· 十二月 25, 2024 阅读大约需 2 分钟
第五十八章 File 输入 输出 - WRITE 命令

第五十八章 File 输入 输出 - WRITE 命令

WRITE 命令

在定位的 READWRITE 之后,后续的 READWRITE 操作将按顺序进行,直到下一个带有 position 参数的 USE 命令。

WRITE 命令将数据(一次一条记录)写入作为当前设备的顺序文件。

语法

WRITE x
  • x 变量 x 中的数据将作为一条记录写入顺序文件中。

CLOSE 命令

CLOSE 命令放弃对顺序文件的所有权。

如果指定的文件未打开或不存在,则 IRIS 将忽略 CLOSE 并返回而不发出错误。

0 0
0 71
文章
· 十二月 24, 2024 阅读大约需 1 分钟
新的WebTerminal —— iterm

Web Terminal 已经存在相当长一段时间了,但它存在诸多限制,并非所有功能都能正常使用。它不支持 shell,也没有诸如嵌入式 Python 支持这样的最新功能。对于那些需要编程模式的工具来说,存在一些问题。基本身份验证也不如简单的登录页面便捷,使用登录页面的话,倘若你想要改变登录应用程序的方式(比如使用单点登录,即 SSO),你还可以自行添加登录页面。

通过将最初的iris terminal 封装到一个网页表单中,利用在网络领域应用极为广泛且同样被像 Visual Studio Code(VSCode)这类工具所使用的 xterm.js,并借助 Python 施展的一些 “魔法”(这些 “魔法” 有助于实现进程间的终端交互),我们就能在网络上完整地实现终端功能了。

安装方法

0 0
0 71

第十九章 添加时间戳和用户名令牌 - 时间戳和用户名令牌示例

时间戳和用户名令牌示例

此示例显示了一个需要密码验证的 Web 服务,以及一个在其请求消息中发送时间戳和用户名令牌的 Web 客户端。

注意:此示例以明文形式发送用户名和密码。

为了使此示例在自己的环境中运行,请首先执行以下操作:

  • 对于 Web 服务所属的 Web 应用程序,将该应用程序配置为仅支持密码验证:
  1. 从管理门户主页,选择系统管理 > 安全 > 应用程序 > Web 应用程序。
  2. 选择 Web 应用程序。
  3. 仅选择密码选项,然后选择保存。
  • 如果不使用默认设置,请编辑客户端以使用适当的 IRIS 用户名和密码。

Web服务如下:

0 0
0 71

第十四章 WS-Policy 配置类详细信息 - 配置 XData 块的详细信息(一)

配置 XData 块的详细信息

本节介绍 Web 服务或客户端配置类的 XData 块的内容。

<configuration>, <service>, <method>, <request>, and <response>元素都必须位于以下命名空间中:

"http://www.intersystems.com/configuration"

在本主题中,前缀 cfg 指的是该命名空间。

<configuration>

<configuration> 元素是 XData 块中的根元素。此元素包括以下项目:

0 0
0 71
文章
· 十二月 10, 2023 阅读大约需 2 分钟
第三十一章 控制到 XML 模式的映射 - %ListOfDataTypes

第三十一章 控制到 XML 模式的映射 - %ListOfDataTypes

%ListOfDataTypes

本部分显示从支持 XML 的类生成的 XML 架构的一部分,该类包含中定义为%ListOfDataTypes 的属性。例如,考虑以下属性定义:

Property PropName As %ListOfDataTypes(XMLITEMNAME = "MyXmlItemName");

如果此属性位于名为 Test.DemoList 的启用 XML 的类中,则该类的 XML 架构包含以下内容:

0 0
0 71

第四十五章 开发Productions - ObjectScript Productions - 使用记录映射器 - 记录映射类结构

记录映射类结构

有两个类描述记录映射:

  • RecordMap 描述了记录的外部结构,实现了记录解析器和记录编写器。
  • 生成的记录类定义了包含数据的对象的结构。该对象允许在数据转换和路由规则条件中引用数据。

记录映射业务服务读取并解析传入数据并创建一条消息,该消息是生成的记录类的一个实例。业务流程可以读取、修改或生成生成的记录类的实例。最后,记录映射业务操作使用实例中的数据将 RecordMap 用作格式化模板来写入传出数据。 RecordMap 类和生成的记录类都具有描述数据的层次结构,但生成的对象结构不必与 RecordMap 结构相同。

0 0
0 71