InterSystems 开发者社区汇聚了 17,537 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
文章
· 七月 18, 2022 阅读大约需 8 分钟
翻译文章--Angular 14 新特性介绍

Hi 大家好! 我是 Sergei Sarkisian,在InterSystems 做Angular 前端7年。Angular是非常流行的框架,我们的开发人员、客户和合作伙伴经常选择它来开发他们的应用程序。

我会写一系列的文章,涵盖Angular的不同方面:概念、方法、最佳实践、高级主题等等。这个系列的文章将针对那些已经熟悉Angular的人,不会涉及基本概念。由于我正在构建文章的路线图,我想从突出最近的Angular版本中的一些重要功能开始。

严格类型化表单

这可能是近几年来Angular最受欢迎的功能。有了Angular 14,开发者现在可以在Angular Reactive Forms中使用TypeScript的所有严格类型检查功能。

表单控制Formcontrol 类现在是通用的,并接受它所持有的值的类型。

0 0
0 558
文章
· 七月 17, 2022 阅读大约需 4 分钟
第八章 使用嵌入式 Python (五)

第八章 使用嵌入式 Python (五)

通过引用传递参数

ObjectScript 编写的方法中的参数可以通过值或引用传递。在下面的方法中,签名中第二个和第三个参数前面的 ByRef 关键字表示它们打算通过引用传递。

ClassMethod SandwichSwitch(bread As %String, ByRef filling1 As %String, ByRef filling2 As %String)
{
    set bread = "whole wheat"
    set filling1 = "almond butter"
    set filling2 = "cherry preserves"
}

ObjectScript 调用方法时,在参数前放置一个句点以通过引用传递它,如下所示:

0 0
0 72
文章
· 七月 16, 2022 阅读大约需 4 分钟
第七章 使用嵌入式 Python (四)

第七章 使用嵌入式 Python (四)

弥合 ObjectScript 和嵌入式 Python 之间的差距

由于 ObjectScriptPython 语言之间的差异,将需要了解一些有助于弥合语言之间差距的信息。

ObjectScript 方面,%SYS.Python 类允许从 ObjectScript 使用 Python

Python 方面,iris 模块允许使用 Python 中的 ObjectScript。在 Python 中,键入 help(iris) 以获取其方法和函数的列表。

使用 Python 内置函数

builtins 包在 Python 解释器启动时自动加载,它包含语言的所有内置标识符,例如基对象类和所有内置数据类型类、异常类、函数和常量。

0 0
0 76
文章
· 七月 15, 2022 阅读大约需 5 分钟
第六章 使用嵌入式 Python (三)

第六章 使用嵌入式 Python (三)

从 ObjectScript 调用嵌入式 Python 代码

使用 Python 库

嵌入式 Python 让可以轻松访问数以千计的有用库。通常称为“包”,它们需要从 Python 包索引 (PyPI) 安装到 <installdir>/mgr/python 目录中,然后才能使用。

例如,ReportLab Toolkit 是一个用于生成 PDF 和图形的开源库。以下命令使用软件包安装程序 irispipWindows 系统上安装 ReportLab

C:\InterSystems\IRIS\bin>irispip install --target C:\InterSystems\IRIS\mgr\python reportlab

在基于 UNIX 的系统上,使用:

0 0
0 52
文章
· 七月 14, 2022 阅读大约需 13 分钟
InterSystems SQL 的使用 - 第三部分 - 表

创建表

可以通过以下方式定义表:

  1. 通过DDL定义表
    • 使用任意数据库管理工具执行DDL(使用ODBC,JDBC连接)

    MyApp.Person表可以使用DDL CREATE TABLE语句来定义,指定SQL schema.table名称。成功执行这个SQL语句会生成一个相应的持久化类,包名MyApp,类名Person。当使用DDL命令定义一个表时,你不需要指定USEEXTENTSET或创建一个位图范围索引。InterSystems SQL会自动应用这些设置,并将它们包含在预测的持久化类中。默认情况下,CREATE TABLE在相应的类定义中指定了Final类的关键字,表示它不能有子类。

0 0
0 201
文章
· 七月 14, 2022 阅读大约需 6 分钟
InterSystems SQL 的使用 - 第二部分 - 基础介绍

本文概述了InterSystems SQL的特点,特别是那些没有被SQL标准所涵盖或与InterSystems IRIS 数据平台的统一数据架构有关的特点。假定你已有SQL的知识,本文不是SQL概念或语法的介绍。

在InterSystems SQL中,数据是在表内呈现的。每个表都被定义为包含若干列。一个表可以包含零个或多个数据值的行。以下术语大致上是等同的。

0 0
0 254


InterSystems SQL为存储在IRIS数据库中的数据提供不折不扣的、标准的关系型访问。

InterSystems SQL具有以下优点。

高性能和可扩展性 - InterSystems SQL的性能和可扩展性优于其他关系型数据库产品。

与IRIS对象技术的集成 - InterSystems SQL与IRIS对象技术紧密集成。你可以混合使用关系型和对象型的数据访问,而不牺牲任何一种方法的性能。

低维护 - 与其他关系型数据库不同,IRIS应用程序不需要在部署的应用程序中重建索引和压缩表。

支持标准SQL查询 - InterSystems SQL支持SQL-92标准语法和命令。

0 0
0 168

在更新医保码库前,我们想对旧码库做个备份,以防更新过程失败,还可以还原。
oracle支持 CREATE TABLE AS ..... 的语法快速备份一张表,cache 似乎不支持这个语法,
大家平时是怎么备份一张码表的呢?

最好是像 oracle 那样一条命令搞定的那种。

0 10
0 185

多院区信息化建设离不开医院的管理模式,这是在建设信息系统前我们必须要搞清楚的事。比如医院财务是不是独立、分院之间住院患者流转是转科还是转院、检验检查是不是可以跨院区预约,是否有统一的职能部门管理业务流程等等。类似这样一些问题在建设前要认真梳理,做好多院区信息建设的顶层布局。

0 0
0 139

2022年7月1日,由国家卫生健康委医院管理研究所指导、《中国数字医学》杂志社有限公司主办、《中国数字医学》杂志社陕西通联站协办、东华医为科技有限公司与InterSystems中国支持的“医院数字化转型研讨会”在西安召开。以下为中南大学湘雅医院网络信息中心主任冯嵩在此次论坛上的分享。

0 0
0 136
文章
· 七月 13, 2022 阅读大约需 3 分钟
第四章 使用嵌入式 Python(一)

第四章 使用嵌入式 Python (一)

嵌入式 Python 允许使用 Python 作为编程 IRIS 应用程序的本机选项。

预备知识

使用嵌入式 Python 所需的 Python 版本取决于运行的平台。

在 Microsoft Windows 上,IRIS 安装工具包安装正确版本的 Python(当前为 3.9.5),仅用于嵌入式 Python。如果在开发机器上并希望将 Python 用于一般用途,建议从 https://www.python.org/downloads/ 下载并安装相同的版本。

0 0
0 118
文章
· 七月 12, 2022 阅读大约需 5 分钟
第三章 嵌入式Python概述(三)

第三章 嵌入式Python概述(三)

使用 SQL

IRIS 中的类被投影到 SQL,除了使用类方法或直接全局访问之外,还允许使用查询访问数据。 iris 模块为提供了两种从 Python 运行 SQL 语句的不同方式。

以下示例使用 iris.sql.exec() 运行 SQL SELECT 语句以查找类名称以“%Net.LDAP”开头的所有类定义,返回一个包含每个名称和超类的结果集每个班级。在这里,系统类 %Dictionary.ClassDefinitionSQL 投影为同名表。

0 1
0 62
文章
· 七月 12, 2022 阅读大约需 9 分钟
Globals - 存储数据的魔剑-树:第二部分

开始 - 请拉到页面底部查看该系列文章第一部分 .

3. 使用globals时结构的变体

一个结构,比如说一个有序排列的“树”,有各种特殊的情况。让我们来看看那些对使用globals有实际价值的情况。

3.1 特殊情况1. 一个没有分支的节点

0 0
0 101
文章
· 七月 11, 2022 阅读大约需 5 分钟
DeepSee 的使用 - 第一部分 - 基础介绍

InterSystems DeepSee的目的是使你能够将BI嵌入到你的应用程序中,这样你的用户就可以对他们的数据提出和回答复杂的问题。你的应用程序可以包括仪表盘,它包含图形部件。这些部件用来显示数据,由透视表和KPIs(关键绩效指标)驱动。对于一个透视表,用户可以显示一个列表,用其显示源值。

透视表、KPIs和列表是查询,在运行时执行。

数据透视表可以对运行时的输入作出反应,如用户的过滤器选择。在内部,它使用一个MDX(MultiDimensional eXpressions)查询,与DeepSee cube进行通信。一个cube由一个事实表和其索引组成。一个事实表由一组事实(行)组成,每个事实对应于一个基本记录。例如,这些事实可以代表病人或部门。DeepSee还生成了一组维度表(level tables)。所有的表都是动态维护的,根据你的配置和实现,DeepSee检测你的事务表的变化,并传播到事实表。当用户在分析器中创建透视表时,DeepSee会自动生成一个MDX查询。

0 0
0 206
文章
· 七月 11, 2022 阅读大约需 4 分钟
第二章 嵌入式Python概述(二)

第二章 嵌入式Python概述(二)

从 Python 调用 IRIS API

如果使用的是嵌入式 Python 并且需要与 IRIS 交互,可以使用 Python shell 中的 iris 模块,或者使用 Python 编写的 IRIS 类中的方法。要遵循本节中的示例,可以使用 ObjectScript 命令 do ##class(%SYS.Python).Shell() 从终端会话启动 Python shell

当启动终端会话时,将被放置在 IRISUSER 命名空间中,将看到提示 USER>。但是,如果从 GitHub 加载了示例类,则需要在 SAMPLES 命名空间中才能访问它们。

0 0
0 51
文章
· 七月 10, 2022 阅读大约需 5 分钟
第一章 嵌入式Python概述(一)

第一章 嵌入式Python概述(一)

嵌入式 Python 允许将 Python 与 IRIS 数据平台的本地编程语言 ObjectScript 一起使用。当使用嵌入式 PythonIRIS 类中编写方法时,Python 源代码与编译后的 ObjectScript 代码一起编译为在服务器上运行的目标代码。与使用网关或 PythonNative SDK 相比,这允许更紧密的集成。还可以导入 Python 包,无论它们是自定义的还是公开的,并在ObjectScript 代码中使用它们。 Python 对象是 ObjectScript 中的一等公民,反之亦然。

0 0
0 164
文章
· 七月 10, 2022 阅读大约需 7 分钟
第二十三章 使用 %Status 值

第二十三章 使用 %Status 值

许多类使用 %Status 数据类型类来表示状态信息,并且它们的方法返回表示成功或错误的 %Status 值(状态)。如果状态表示一个错误(或多个错误),则状态值还包括有关错误的信息。

还可以返回自己的状态值。

本文讨论状态值以及如何使用它们。

使用状态值的基础知识

如上所述,许多 类中的方法返回一个状态以指示成功或错误。例如,%Library.Persistent中的%Save()方法返回一个状态。对于任何此类方法,请务必获取返回值。然后检查状态,然后适当地继续。基本工具如下:
- 要检查状态是表示成功还是错误,请使用以下任一方法:
-
$$$ISOK$$$ISERR宏,在包含文件%occStatus.inc中定义。此包含文件在所有对象类中自动可用。
-
$SYSTEM.Status.IsOK()$SYSTEM.Status.IsError()` 方法,它们在终端(不能使用宏)中特别方便。

0 0
0 54
文章
· 七月 8, 2022 阅读大约需 2 分钟
第二十二章 安全自定义 Web 应用程序登录

第二十二章 安全自定义 Web 应用程序登录

除了推荐的 REST 应用程序支持之外,产品还支持两种类型的传统 Web 应用程序:CSPZen。在配置使用 CSPZen 的自定义登录页面时,遵循推荐的协议很重要。这些协议提供了更高的安全性,并最大限度地减少了升级到新产品或版本时的不兼容性。

关于创建自定义 CSP 登录页面

创建自定义 CSP 登录页面:

0 0
0 57

你好。

我想访问一个远程SQL Server数据库中的存储过程。我对Object Script很陌生。

该存储过程有3个参数:2个日期时间参数和1个整数。

哪种方法最好呢?我想知道我是否可以在object script中使用链接存储过程的功能或一些SQL语句。

这个存储过程返回一组行,我想读取、转换并保存在一个持久化类中。

先谢谢了。

Hi,

I want to access a Stored Procedure in a remote SQL Server Database. I am quite new to Object script.

The stored procedure has 3 parameters: 2 datetime parameters and 1 integer.

Which is the best way to do that? I'm wondering if I can use the link stored procedure feature inside object script or some SQL statement in Object Script.

0 1
0 83
文章
· 七月 7, 2022 阅读大约需 4 分钟
第二十一章 使用工作队列管理器(四)

第二十一章 使用工作队列管理器(四)

分离和附加工作队列

通常,初始化一组工作程序,将工作项排队,然后等待工作程序完成工作项。但是,可能会遇到工作人员作业完成工作项所需的时间比预期更长的情况,或者无法将单个进程专门用于等待。因此,工作队列管理器使能够将工作队列与进程分离,然后将工作队列附加到同一进程或不同的进程。

例如,假设队列引用了初始化的工作队列。还假设向工作队列中添加了几个工作项。在调用 Wait() 或 WaitForComplete() 来确定正在处理的工作的状态之前,可以使用以下方法:

Detach()

method Detach(ByRef token As %String, timeout As %Integer=86400) as Status
从初始化工作队列时创建的对象引用中分离工作队列对象。 Detach() 方法使任何正在进行的工作能够继续并保留工作队列的当前状态。

token 参数表示一个安全令牌,可以使用它随后将工作队列附加到另一个进程。 timeout 参数是可选的,它指示系统保留分离的工作队列对象的时间量(以秒为单位)。超时期限过后,系统会删除与工作队列关联的所有工作人员作业和信息。超时的默认值为 1 天。

0 0
0 52
文章
· 七月 6, 2022 阅读大约需 4 分钟
第二十章 使用工作队列管理器(三)

第二十章 使用工作队列管理器(三)

管理类别

一个类别是一个独立的worker jobs池。当初始化一组worker jobs时,可以指定提供worker的类别。如果集合中的任何worker jobs在执行work项时请求额外的worker jobs,则新的worker jobs来自同一类别。

例如,假设系统提供的 SQL 类别分配了最多 8 个worker。然后,假设与BusinessIntelligence相关的流程创建了一个类别,并将最多四个worker分配给该类别。如果 SQL 池中的所有worker在给定时间都参与了工作,则 BusinessIntelligence 类别中的worker可能仍然可以立即处理工作项。

系统包括两个不能删除的类别:SQLDefault。 SQL 类别适用于系统执行的任何 SQL 处理,包括查询的并行处理。当在未指定类别的情况下初始化一组worker jobs时,默认类别提worker jobs。

每个类别都具有影响该类别中每个工作队列的行为的属性。这些属性是:

0 0
0 52