文章
· 三月 19, 2021 阅读大约需 11 分钟
第十二章 使用嵌入式SQL(三)

第十二章 使用嵌入式SQL(三)

主机变量

主机变量是将文字值传入或传出嵌入式SQL的局部变量。 最常见的是,主机变量用于将本地变量的值作为输入值传递给Embedded SQL,或者将SQL查询结果值作为输出主机变量传递给Embedded SQL查询。

主机变量不能用于指定SQL标识符,例如架构名称,表名称,字段名称或游标名称。主机变量不能用于指定SQL关键字。

  • 输出主机变量仅在嵌入式SQL中使用。它们在INTO子句中指定,INTO子句是仅嵌入式SQL支持的SQL查询子句。
  • 输入主机变量可以在嵌入式SQL或动态SQL中使用。在动态SQL中,还可以使用“?”向SQL语句输入文字。输入参数。这 ”?”语法不能在Embedded SQL中使用。

在嵌入式SQL中,可以在可以使用文字值的任何位置使用输入主机变量。使用SELECT或FETCH语句的INTO子句指定输出主机变量。

0 0
0 77
文章
· 三月 26, 2021 阅读大约需 1 分钟
使用 InterSystems IRIS 创建认知数字服务

Intersystems IRIS 是开发、运行和消耗数据科学服务的绝佳平台。 IRIS 可以使用适配器从任何类型、格式、协议和时间提取数据。 这些数据集可以通过 BPL、DTL 和 Object Script 准备,并存储为 SQL 或 NoSQL 数据。 最后,它可以被 IRIS 内部的开放 ML 算法所消耗,并在 IRIS 仪表板中可视化。 了解详情:https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=PAGE_data_science

0 0
0 68
文章
· 四月 2, 2021 阅读大约需 13 分钟
第十五章 使用管理门户SQL接口(一)

第十五章 使用管理门户SQL接口(一)

本章介绍如何在InterSystems IRIS®数据平台管理门户上执行SQL操作。
管理门户界面使用动态SQL,这意味着在运行时准备和执行查询。
Management Portal界面旨在帮助针对小型数据集开发和测试SQL代码。
它不打算用作在生产环境中执行SQL的接口。

管理门户还提供了各种配置SQL的选项。

有关使用管理门户的一般信息,请选择左上角的Help按钮。
通过使用左上角的Contact按钮,可以从管理门户向InterSystems Worldwide Response Center (WRC)报告有关InterSystems软件的问题。

管理门户SQL工具

InterSystems IRIS允许使用SQL工具从InterSystems IRIS管理门户检查和操作数据。
此操作的起点是Management Portal System Explorer选项。
从这里选择SQL选项。
这将显示SQL接口,它允许:

0 0
0 106
文章
· 四月 15, 2021 阅读大约需 3 分钟
第 4 天:使用 InterSystems Objects 和 SQL 进行开发

我正在参加 Joel Solon 讲授的“使用 InterSystems Objects 和 SQL 进行开发”课程。 课程非常好,我将在这里分享一些从培训中总结的提示。

第 4 天的提示:

1. 所有数据都存储在global中,global名称以 ^ 开头。 global示例:^animal。 global可以有多个数据位置(“子数据”)。 示例:^animal("大象","吃草")。

2. 可从任意系统范围(命名空间)访问 ^%* global。

3. global使 IRIS 能够支持多模型数据(对象、关系、文档、多维等)。

4. 要查看global,请转到 Management Portal > Explorer > Globals > Select Global > View,或者在终端中输入 do ^%G 或 zwrite ^global。

5. 在持久类和 SQL 表之间有自动对应关系:

0 0
0 98
文章
· 四月 29, 2021 阅读大约需 10 分钟
第九章 冻结计划

第九章 冻结计划

大多数SQL语句都有一个关联的查询计划。查询计划是在准备SQL语句时创建的。默认情况下,添加索引和重新编译类等操作会清除此查询计划。下次调用查询时,将重新准备查询并创建新的查询计划。冻结计划使可以跨编译保留(冻结)现有查询计划。查询执行使用冻结的计划,而不是执行新的优化并生成新的查询计划。

对系统软件的更改也可能导致不同的查询计划。通常,这些升级会带来更好的查询性能,但软件升级可能会降低特定查询的性能。冻结计划使可以保留(冻结)查询计划,以便查询性能不会因系统软件升级而改变(降级或提高)。

0 0
0 49
文章
· 五月 12, 2021 阅读大约需 11 分钟
InterSystems 数据平台和性能 - 第 5 篇 使用 SNMP 进行监控

InterSystems 数据平台和性能 - 第 5 部分 使用 SNMP 进行监控

在之前的帖子中,我展示了如何使用 pButtons 收集历史性能指标。 我首选 pButtons 是因为我知道它随每个数据平台实例(Ensemble、Caché、...)一起安装。 不过,还有其他方法可以实时收集、处理和显示 Caché 性能指标,以进行简单的监视,或进行更重要的并且复杂得多的运营分析和容量计划。 最常见的数据收集方法之一是使用 SNMP(简单网络管理协议)。

SNMP 是 Caché 向各种管理工具提供管理和监控信息的标准方式。 Caché 在线文档包含了 Caché 和 SNMP 之间接口的详细信息。 虽然 SNMP 应该可以直接与 Caché 配合工作,但仍有一些配置技巧和陷阱。 我经历了很多次错误的开始,并且在 InterSystems 其他同事的帮助下,才让 Caché 与操作系统 SNMP 主代理建立对话,所以我写了这篇帖子,希望您可以避免同样的痛苦。

在本帖中,我将介绍如何为 Red Hat Linux 上的 Caché 设置和配置 SNMP,您应该能够对其他 *nix 版本使用相同步骤。 我使用 Red Hat 写这篇文章是因为在 Linux 上进行设置更棘手一些;在 Windows 上,Caché 会自动安装一个 DLL 来与标准 Windows SNMP 服务连接,所以应该更容易配置。

0 2
1 175
文章
· 五月 15, 2021 阅读大约需 4 分钟
第一章 单元测试概述

第一章 单元测试概述

本教程的第一部分概述了单元测试。完成本教程的这一部分后,将能够:
- 定义单元测试并区分单元测试和集成测试
- 列出单元测试的几个好处
- 描述InterSystems IRIS %UnitTest包和xUnit测试框架之间的相似性。
- 列出软件开发中测试优先方法经常声称的几个好处。

什么是单元测试?

单元测试是对单个代码模块的正确性的测试,例如,方法或类的测试。通常,开发人员在开发代码时为其代码创建单元测试。典型的单元测试是一种执行方法的方法,该方法测试并验证该方法是否为给定的一组输入生成了正确的输出。

单元测试不同于集成测试。集成测试验证了一组代码模块交互的正确性。单元测试仅单独验证代码模块的正确性。一组代码模块的集成测试可能会失败,即使每个模块都通过了单元测试。

为什么要进行单元测试?

单元测试提供了许多好处,包括:

0 0
0 33
文章
· 五月 24, 2021 阅读大约需 7 分钟
第五章 向邮件添加附件

第五章 向邮件添加附件

向邮件添加附件

可以将附件添加到电子邮件或消息部分(具体地说,是添加到%Net.MailMessagePart%Net.MailMessage的实例)。要执行此操作,请使用以下方法:

这些方法中的每一种都会将附件添加到原始邮件(或邮件部分)的Parts数组中,并自动将IsMultiPart属性设置为1。

0 0
0 30
文章
· 六月 2, 2021 阅读大约需 3 分钟
FAQ 常见问题系列--系统管理篇 如何进行数据库备份

InterSystems产品有四种备份方法:
(1) 外部备份
(2) 在线备份
(3) 冷备份
(4) 传统的并行外部备份
有关这些方法的细节请参考在线文档 https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.UI...

以下是对每种备份方法的简要描述:

0 0
1 273
文章
· 六月 19, 2021 阅读大约需 5 分钟
第十二章 XML其他示例

第十二章 XML其他示例

其他示例

Flexible Reader类

/// desc:灵活读取类
ClassMethod Read(mydir, myfile, class, element)
{
    set reader=##class(%XML.Reader).%New()
    if $extract(mydir,$length(mydir))'="/" {set mydir=mydir_"/"}
    set file=mydir_myfile
    set status=reader.OpenFile(file)
    if $$$ISERR(status) {do $System.Status.DisplayError(status)}

    do reader.Correlate(element,class)

    while reader.Next(.object,.status)
    {
        if $$$ISERR(status) {do $System.Status.DisplayError(status)}
        set status=object.%Save()
0 0
0 41
文章
· 七月 2, 2021 阅读大约需 5 分钟
第二十五章 添加和使用XSLT扩展函数

第二十五章 添加和使用XSLT扩展函数

自定义错误处理

当出现错误时,XSLT处理器(XalanSaxon)执行当前错误处理程序的error()方法,将消息作为参数发送到该方法。类似地,当发生致命错误或警告时,XSLT处理器会根据需要执行datalError()Warning()方法。

对于所有这三种方法,默认行为是将消息写入当前设备。

要自定义错误处理,请执行以下操作:

  • 对于XalanSaxon处理器,在创建%XML.XSLT.ErrorHandler的子类。在这个子类中,根据需要实现Error()FatealError()Warning()方法。

这些方法中的每一个都接受单个参数,即包含由XSLT处理器发送的消息的字符串。

这些方法不返回值。

0 0
0 46
文章
· 七月 6, 2021 阅读大约需 9 分钟
第二十九章 从XML架构生成类

第二十九章 从XML架构生成类

Studio提供了一个向导,该向导读取XML模式(从文件或URL),并生成一组支持XML的类,这些类对应于模式中定义的类型。
所有的类都扩展%XML.Adaptor
指定一个包来包含类,以及控制类定义细节的各种选项。

向导还可以作为类方法使用,也可以使用该类方法。
在内部,SOAP向导在读取WSDL文档并生成web客户端或web服务时使用此方法;

注意:使用的任何XML文档的XML声明都应该指明该文档的字符编码,并且文档应该按照声明的方式进行编码。如果未声明字符编码,InterSystems IRIS将使用本书前面的“输入和输出的字符编码”中描述的默认值。如果这些默认值不正确,请修改XML声明,使其指定实际使用的字符集。

使用向导

要使用XML架构向导,请执行以下操作:

  1. 选择 Tools > Add-Ins > XML Schema Wizard.

image

0 0
0 97
文章
· 七月 21, 2021 阅读大约需 5 分钟
关键字参数定义,映射定义,属性定义,查询定义

第五章 参数定义

描述参数定义的结构。

介绍

参数定义定义了一个给定类的所有对象都可用的常数值。创建类定义时(或在编译前的任何时候),可以设置其类参数的值。默认情况下,每个参数的值都是空字符串,但是可以在参数定义中指定一个非空值。在编译时,为类的所有实例建立参数值。除了极少数例外,该值不能在运行时更改。

详解

参数定义具有以下结构:

0 0
0 45
文章
· 七月 30, 2021 阅读大约需 3 分钟
外键关键字Internal,NoCheck,OnDelete,OnUpdate

第四十一章 外键关键字 - Internal

指定此外键定义是否为内部定义(不显示在类文档中)。

用法

要将此外键定义标记为内部,请使用以下语法:

ForeignKey keyname(key_props) References pkg.class(ref_index) [ Internal ];

否则,省略此关键字或将单词Not放在关键字的前面。

详解

内部类成员不会显示在类文档中。如果想让用户看到一个类,但不看到它的所有成员,这个关键字很有用。

默认

如果省略此关键字,此外键定义将显示在类文档中。

第四十二章 外键关键字 - NoCheck

指定是否应该检查这个外键约束。

用法

要防止检查该外键定义的约束,请使用以下语法:

0 0
0 44
文章
· 八月 13, 2021 阅读大约需 2 分钟
属性关键字Collection,Deprecated,Final,Identity

第九十七章 属性关键字 - Collection

不推荐使用的方法是指定集合属性的集合类型。不要使用。

详解

此关键字已被“as”语法替换。

第九十八章 属性关键字 - Deprecated

指定此属性已弃用。此关键字被类编译器忽略,仅提供属性已弃用的人类可读指示符。

用法

要指定不推荐使用此属性,请使用以下语法:

Property name As classname [ Deprecated ]; 

否则,请省略此关键字或将该词放在该关键字之前。

第九十九章 属性关键字 - Final

指定此属性是否为最终属性(不能在子类中重写)。

用法

要指定属性为最终属性,请使用以下语法:

Property name As classname [ Final ];

否则,请省略此关键字或将该词放在该关键字之前。

0 0
0 66
文章
· 八月 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

0 0
0 61
文章
· 九月 3, 2021 阅读大约需 3 分钟
第五章 SQL命令 BUILD INDEX

第五章 SQL命令 BUILD INDEX

用数据填充一个或多个索引。

大纲

BUILD INDEX [%NOLOCK] [%NOJOURN] FOR TABLE table-name [INDEX index-name [,index-name]]

BUILD INDEX [%NOLOCK] [%NOJOURN] FOR SCHEMA schema-name

BUILD INDEX [%NOLOCK] [%NOJOURN] FOR ALL

参数

  • FOR TABLE table-name - 已存在表的名称。
    表名可以是限定的(schema.table),也可以是非限定的(table)。
    非限定表名接受默认模式名。
0 0
0 39

为什么要连接系统?

连接系统可以让一个系统处理来自非本系统的信息。例如,以下场景需要连接系统:

  • 为了提高效率,最初设计为执行单一功能的系统需要集成。例如,您可以通过集成跟踪库存、订购材料、记录销售和控制运输的各个系统来提高效率。
  • 系统合并后,在不同机构中执行相同功能的系统需要协同工作才能使统一的机构有效。

将系统连接在一起时,您可能会面临一些挑战,例如:

  • 不同系统使用不同的通信协议:一个系统可能使用TCP,另一个系统使用SOAP,第三个系统使用REST。
  • 不同系统使用不同格式或基于不同标准的不同消息。
  • 需要保证消息成功传递到正确的系统,并能够检测和纠正故障。
  • 必须监控传输消息的系统,如果一次消息过多,则为消息提供一个队列,并监控整体系统性能以确保没有任何障碍。

虽然可以编写自定义应用程序来连接系统,但开发一款InterSystems IRIS® 产品要容易得多,也快得多。

0 0
0 91
文章
· 九月 27, 2021 阅读大约需 34 分钟
IRIS 2021 技术文档 First Look 17 Globals
0 0
0 87
文章
· 十月 10, 2021 阅读大约需 3 分钟
第四十一章 SQL命令 DROP VIEW

第四十一章 SQL命令 DROP VIEW

删除视图

大纲

DROP VIEW view-name [CASCADE | RESTRICT]

参数

  • view-name 要删除的视图的名称。
    视图名可以是限定的(schema.viewname),也可以是非限定的(viewname)。
    非限定视图名接受默认模式名。
  • CASCADE RESTRICT - 可选-指定CASCADE关键字以删除引用view-name的任何其他视图。如果有另一个视图引用view-name,则指定RESTRITE将发出SQLCODE-321错误。默认值为限制。

描述

DROP VIEW命令删除视图,但不删除基础表或数据。

0 0
0 62
文章
· 十月 20, 2021 阅读大约需 6 分钟
第五十一章 SQL命令 HAVING(二)

第五十一章 SQL命令 HAVING(二)

In和%INLIST谓词

IN谓词用于将值与一系列非结构化的项进行匹配。

%INLIST谓词是 IRIS扩展,用于将值与列表结构的元素进行匹配。

使用任一谓词,都可以执行相等比较和子查询比较。

在中有两种格式。第一个用作使用与OR运算符链接在一起的多个相等比较的速记。例如:

SELECT Name, Home_State FROM Sample.Person
GROUP BY Home_State
HAVING Home_State IN ('ME','NH','VT','MA','RI','CT')

如果Home_State等于括号列表中的任意值,则计算为TRUE。列表元素可以是常量或表达式。排序规则适用于IN比较,因为它适用于相等性测试。默认情况下,IN比较使用字段定义的排序规则类型;默认情况下,字符串字段定义为SQLUPPER,不区分大小写。

0 0
0 34
文章
· 十二月 21, 2021 阅读大约需 7 分钟
第一章 聚合函数概述

第一章 聚合函数概述

计算列的所有值并返回单个聚合值的函数。

支持聚合函数

聚合函数执行与单个列中的一个或多个值相关的任务,并返回单个值。
支持的功能有:

0 0
0 24