文章
· 一月 19, 2023 阅读大约需 6 分钟
使用嵌入式 Python 创建存储过程

Python 已成为世界上使用最广泛的编程语言(来源:https://www.tiobe.com/tiobe-index/),SQL 作为数据库语言继续引领潮流。 Python 和 SQL 一起工作以提供 SQL 单独无法提供的新功能不是很好吗?毕竟,Python 拥有超过 380,000 个已发布的库(来源:https://pypi.org/),它们具有非常有趣的功能,可以在 Python 中扩展您的 SQL 查询。本文详细介绍了如何使用嵌入式 Python 在 InterSystems IRIS 数据库中创建新的 SQL 存储过程。

用作示例的 Python 库

本文将使用两个非常有用的库:Geopy 和 Chronyk。

Geopy 是一个用于将地理编码(地址和地理坐标的限定)应用于地址数据的库。有了它,就可以从街道名称中获取邮局格式的邮政编码和完整地址。非常有用,因为许多记录都有地址。

0 0
0 72

第十五章 开发Productions - ObjectScript Productions - 开发Productions介绍

互操作性产品允许连接可能使用不同通信协议和不同消息格式的系统。可以使用 Java.NETObjectScriptSQL 或业务流程、数据转换和业务规则的图形编辑器来开发产品。

文档

  • 互操作性生产概述
  • ObjectScript 中开发
  • 使用 PEXJava.NET 中开发
  • 使用 SQL
  • 业务流程 (BPL)
  • 数据转换 (DTL)
  • 业务规则
  • 配置生产
  • 使用推送通知定义工作流

在线内容

0 0
0 71

第四十三章 开发Productions - ObjectScript Productions - 使用记录映射器 - 编辑记录映射字段和组合

编辑记录映射字段和组合

Record Mapper 左侧面板显示 Record Map 中定义的字段的摘要。如果您选择一个字段,右侧面板将访问字段属性。例如:

记录映射由一系列字段和组合组成。每个组合由一系列字段和组合组成。 Make CompositeMake Field 按钮在复合字段和数据字段之间切换。对于复合字段,只需指定名称和指示字段为必填项的标志。单击记录映射上的绿色加号图标以将字段或组合添加到顶层。单击组合的加号允许向其添加字段或组合。

在将字段添加到记录映射时,可以打开示例文件以查看其数据如何映射到您正在创建的记录。

对于定界记录映射,复合字段中的字段具有不同的分隔符。例如,在记录中,顶级字段由逗号分隔,但在组合中,字段由分号分隔。对于固定宽度的记录映射,复合字段有助于在概念上组织数据,但不会影响输入消息的处理。

0 0
0 71
文章
· 三月 5, 2021 阅读大约需 3 分钟
[InterSystems IRIS 初探] 让我们使用互操作性

大家好!

InterSystems IRIS 有一个名为 Interoperability(互操作性)的菜单。

它提供了轻松创建系统集成(适配器、记录映射、BPM、数据转换等)的机制,因此可以轻松连接不同的系统。

数据中继过程中可以包括各种操作,例如:为了连接没有正常连接的系统,可以根据目标系统的规范来接收(或发送)数据。 此外,在发送数据之前,可以从其他系统获取和添加信息。 还可以从数据库(IRIS 等)获取和更新信息。

在本系列文章中,我们将讨论以下主题,同时查看 示例代码 以帮助您了解工作原理以及在系统中集成互操作性时需要进行哪种开发。

1 0
0 71
文章
· 二月 6, 2021 阅读大约需 10 分钟
InterSystems:技术支持和 DBMS 互操作性管理解决方案

在本文中,我们将讨论一个我每天都会使用的应用程序,当监控 InterSystems IRIS 平台上的应用程序和集成解决方案并查找所发生的错误时,我就会用到它。

在查找用来记录 InterSystems IRIS、Ensemble 和 Caché DBMS 中对象变化的解决方案时,我发现了一篇关于使用宏进行日志记录的好文章。 受到该文章的启发,我对其介绍的项目进行了分叉,并做了相应调整以满足一些特定需求。 生成的解决方案以面板子类 %CSP.Util.Pane 的形式实现,它具有主命令窗口、“Run”(运行)按钮和已启用的命令配置。

该应用程序允许查看和编辑 global 数组、执行查询(包括 JDBC 和 ODBC)、通过电子邮件发送搜索结果(压缩的 XLS 文件)、查看和编辑对象,以及用几个简单图表来表示系统协议。

1 0
0 71
文章
· 六月 16, 2023 阅读大约需 4 分钟
第五十九章 镜像中断程序 - 灾难恢复程序

第五十九章 镜像中断程序 - 灾难恢复程序

灾难恢复程序

如异步镜像成员中所述,灾难恢复 (DR) 异步成员维护镜像数据库的只读副本,从而可以在需要时将 DR 异步提升为故障转移成员。将 DR 异步成员提升为故障转移成员中描述了提升 DR 异步的过程。本节讨论三种可以使用 DR 异步提升的场景:

  • 在灾难期间手动故障转移到提升的 DR 异步
  • 计划故障转移到提升的 DR 异步
  • 使用提升的 DR 异步临时替换故障转移成员

在本节的过程中, IRIS A 是原始的主要故障转移成员, IRIS B 是原始备份,而 IRIS C 是要提升的 DR 异步。

1 0
1 71
文章
· 四月 15, 2021 阅读大约需 10 分钟
第二章 定义和构建索引(三)

#

第二章 定义和构建索引(三)

# 位图索引

位图索引是一种特殊类型的索引,它使用一系列位串来表示与给定索引数据值相对应的一组ID值。

位图索引具有以下重要功能:

  • 位图是高度压缩的:位图索引可以比标准索引小得多。这大大减少了磁盘和缓存的使用量。
  • 位图操作针对事务处理进行了优化:与使用标准索引相比,可以在表中使用位图索引,而不会降低性能。
  • 位图上的逻辑操作(countingANDOR)经过优化以获得高性能。
  • SQL引擎包括许多可以利用位图索引的特殊优化。

位图索引的创建取决于表的唯一标识字段的性质:

0 0
0 70
文章
· 二月 2, 2021 阅读大约需 3 分钟
第二十二章 Caché 变量大全 $X 变量

第二十二章 Caché 变量大全 $X 变量

包含光标的当前水平位置。

大纲

$X

描述

$X包含光标的当前水平位置。将字符写入设备时,Caché会更新$X以反映水平光标位置。

输出的每个可打印字符将$X加1。回车符(ASCII 13)或换页符(ASCII 12)将$X重置为0(零)。

$X是16位无符号整数。

0 0
0 70

此文章也是对问题 在不重建的情况下插入索引Inserting an index without reconstruction 的一种解释

在使用SQL语言对 InterSystems IRIS 中的表进行查询时,有时候会发现返回的结果与实际有出入,特别是使用count() 函数,或者select 查询时,返回的结果少于实际应返回的值。
这种情况往往是由于数据表格的索引值出了问题。

索引出问题的主要原因可能是:

  • 表中先有数据,后创建的索引定义,并且定义之后没有重新生成索引。
  • 对保存数据的global直接操作。如果是使用对象或者sql的方式操作数据,相应的索引都会自动更新,但是如果直接对global操作,则不会自动更新索引。
  • 对保存索引的global直接操作。

要解决或者要检查是不是索引引发的问题,可以使用%ValidateIndices()函数,它有两种方式使用

0 0
0 70
文章
· 十一月 20, 2023 阅读大约需 2 分钟
Java 大赛作品展示--基于IRIS 原生 Java API 的Global编辑器

这是Java 编程比赛的相关文章。

我决定推出一个基于 IRIS Native API for Java 的 CRUD++ Global编辑器。
++因为它不仅仅是C reate、 R ead、 U pdate、 D elete
Global可视化对于立即查看结果始终很重要。

  • 为此,我使用模仿 ZWrite 的树查看器扩展了 API,并且还允许检查子树。
  • $Query Style Navigator 正向和反向操作可轻松找到感兴趣的全局节点。
  • 最后,ZKill 添加了一个选项,可以删除全局节点的内容而不删除下面的子树。

这需要在服务器端有一个小的帮助器类作为默认 API 的扩展

我的策略是拥有一个可从命令行使用的相当适度的界面
就像在 Docker 控制台或终端上一样,并使其尽可能简单。
花哨的图形界面只会分散示例的基本内容。

0 0
0 70
文章
· 九月 3, 2023 阅读大约需 7 分钟
在 Python 上使用IRIS REST API 进行 SQL 迁移

对于即将到来的Python 竞赛,我想制作一个小型演示,介绍如何使用 Python 创建一个简单的 REST 应用程序,该应用程序将使用 IRIS 作为数据库。使用这个工具

  • FastAPI框架,高性能,易学,快速编码,可用于生产
  • SQLAlchemy 是 Python SQL 工具包和对象关系映射器,为应用程序开发人员提供 SQL 的全部功能和灵活性
  • Alembic 是一个轻量级数据库迁移工具,可与 SQLAlchemy Database Toolkit for Python 一起使用。
  • Uvicorn 是 Python 的 ASGI Web 服务器实现。

1 0
0 69
文章
· 五月 23, 2021 阅读大约需 7 分钟
第四章 收发电子邮件

第四章 收发电子邮件

本主题描述如何使用InterSystems IRIS发送和接收MIME电子邮件消息。

注意:本主题中的示例是经过组织的,因此管理电子邮件的方法可以用于不同的电子邮件服务器,这在测试和演示期间非常有用。这不一定是最适合生产需要的代码组织。

支持电子邮件协议

电子邮件使用标准协议通过Internet发送消息。
InterSystems IRIS支持以下三种协议:

0 0
0 69
文章
· 五月 24, 2022 阅读大约需 6 分钟
如何轻松开始在Adaptive Analytics + InterSystems Reports中工作

让我们假设我们已经将一个数据源连接到Adaptive Analytics,创建了一个项目并在那里添加了表。

现在我们来准备Adaptive Analytics的工作。首先,我们需要从表中选择数据,使其可用于未来的报告。要做到这一点,我们需要从表的列中创建维度。创建维度通常是为了将我们的数据分解成不同的类别,例如用户住在哪个城市,或者购买是在哪个月进行的。然而,没有什么可以阻止我们从数字数据中创建维度,这样我们就可以在Intersystems Reports Designer中对它们应用函数。

创建维度的工具位于界面的右侧,如下图所示。要创建一个新的维度,右击位于 "过滤器 "(Filter)行右侧的汉堡包按钮,选择 "创建维度 "(Create Dimension),如图所示。

将出现以下窗口:

0 0
0 69
文章
· 二月 20, 2021 阅读大约需 6 分钟
第四十二章 Caché 变量大全 $ZTIMESTAMP 变量

第四十二章 Caché 变量大全 $ZTIMESTAMP 变量

包含协调世界时间格式的当前日期和时间。

大纲

$ZTIMESTAMP
$ZTS

描述

$ZTIMESTAMP包含协调的通用时间值形式的当前日期和时间。这是世界范围内的时间和日期标准;此值很可能与当地的时间(和日期)值不同。

$ZTIMESTAMP将日期和时间表示为以下格式的字符串:

ddddd,sssss.fff

其中ddddd是一个整数,指定自1840年12月31日起的天数;sssss是一个整数,指定自当天午夜以来的秒数,fff是一个可变的数字,指定小数秒。这种格式类似于$HOROLOG,只是$HOROLOG不包含分数秒。

假设当前日期和时间(世界协调时)如下:

0 0
0 68

InterSystems IRIS数据平台深度支持Python,令您随心所愿!

//player.bilibili.com/player.html?aid=906425504&bvid=BV1hM4y1X7dU&cid=996982339&page=1
[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。]

0 0
0 68
文章
· 四月 28, 2023 阅读大约需 4 分钟
第四十二章 管理镜像 - 监控镜像

第四十二章 管理镜像 - 监控镜像

本章涵盖与管理和维护可操作的 IRIS 镜像相关的主题。

监控镜像

可以使用以下两种方法之一监视现有镜像的操作:

  • 管理门户的镜像监控页面
  • ^MIRROR 例程的状态监视器选项

这两种方法都显示有关镜像及其成员的操作状态和传入日志传输率的信息,以及有关镜像数据库状态的信息。此外,镜像监视器还允许您对镜像数据库执行多项操作。

监控镜像通信进程描述了在镜像成员上运行的镜像通信进程。

注意:基本镜像成员信息,包括指向镜像监视器的链接,也会出现在管理门户主页消息窗格中(请参阅系统管理指南的“使用管理门户”一章中的管理门户消息窗格。

许多与数据库和镜像相关的操作,例如安装或卸载数据库以及将数据库添加到镜像或从镜像中删除数据库,都记录在消息日志中。

使用镜像监视器

要显示镜像监视器,请导航到任何镜像成员上的“系统操作”>“镜像监视器”页面。

在故障转移成员上,镜像监视器包含以下按钮和部分:

0 0
0 68

第二十章 镜像架构和规划 - 限制对备份故障转移成员的访问

虽然托管镜像备份故障转移成员的系统可能有未使用的资源或容量,或者可能希望在其镜像数据库上运行只读查询,但 推荐的最佳实践是将主机专用于其角色,仅作为备份镜像成员。对备份的任何镜像相关或非镜像使用都会产生以下影响:

  • 如果备份性能的降低导致其确认从主服务器接收到日志数据的速度变慢,则访问主服务器上镜像数据库的应用程序用户可能会遇到性能下降的情况。任何必须等待主节点确认的应用程序交互,包括那些涉及显式日志同步以及同步提交事务和 ECP 活动的应用程序交互,都可能以这种方式受到影响。
  • 如果备份的确认延迟到足以防止它在 QoS 超时内发生,则主要撤销备份的活动状态,导致自动故障转移变得更加困难或不可能,具体取决于主要中断的性质。
  • 如果确实发生自动故障转移,备份现在支持其现有资源使用和主要用户应用程序资源使用。如果可能的话,备份主机必须有能力处理这两种负载。

出于这些原因,如果必须从主成员卸载用户活动,则应使用异步成员而不是备份成员。

0 0
0 68
文章
· 十二月 27, 2023 阅读大约需 2 分钟
百讲知识点索引

百讲知识点索引

简介

  • B站已更新截止到2023.12.31之前的所有百讲课程,总计261讲。
  • 什么是百讲?百讲是一个主要介绍IRISCache编程知识的免费课程。
  • 课程的特点是,将每一个知识点,都会用示例演示出来、了解原理,而不是仅仅告诉有这个功能。
  • 每周一期,每期会请到有多年开发经验的老师来给大家讲解课程。
  • 百讲观看地址:https://www.bilibili.com/video/BV1cw41147xr/

在这里插入图片描述

3 1
0 68

Hi 大家好,

我最近开始学习InterSystems IRIS 的互操作性,我发现官方文档对理解它的工作原理很有帮助,尽管我自己在实现它时仍有一些困难。在我的同事的帮助下,我成功地创建了一个系统的Demo,并从实践中学习。因此,我决定写一下文章,分享我得到的帮助,来帮助更多的其他人。

0 0
0 68

第四十二章 开发Productions - ObjectScript Productions - 使用记录映射器 - 通用控制字符

通用控制字符

在记录映射中,可以在多个位置使用文字控制字符和可打印字符。例如,可以指定制表符(常用控制字符)和逗号(可打印字符)作为分隔符。还可以将控制字符指定为填充字符或记录终止符之一。要在这些上下文之一中指定控制字符,必须为该字符指定十六进制转义序列。如果选择空格或制表符作为填充字符,或选择 CRLF(回车后跟换行符)、CRLF 作为 Record Mapper 中的记录终止符,管理门户会自动生成十六进制表示。如果指定另一个控制字符作为填充字符或记录终止符或任何控制字符作为分隔符,则必须在相应的表单域中输入十六进制表示。下表列出了常用控制字符的十六进制转义序列:

0 0
0 68

第三十八章 配置镜像 - 配置 ISCAgent - 在 Linux 系统上启动 ISCAgent

在 Linux 系统上启动 ISCAgent

在支持systemdLinux系统上(如SUSE Linux Enterprise Server 12, SP1及以后版本),会安装/etc/systemd/system/ISCAgent.service文件,支持使用systemd管理ISCAgent。在任何此类系统上,以下命令可用于启动、停止和显示 ISCAgent 的状态:

systemctl start ISCAgent.service
systemctl stop ISCAgent.service
systemctl status ISCAgent.service

要在支持 systemd 的系统上控制 SCAgent 是否在系统引导时启动,请使用以下命令:

0 0
0 67
文章
· 四月 26, 2023 阅读大约需 4 分钟
第四十章 配置镜像 - 配置服务质量 (QoS) 超时设置

第四十章 配置镜像 - 配置服务质量 (QoS) 超时设置

服务质量超时(QoS 超时)设置通过定义时间范围(以毫秒为单位)在管理故障转移成员和仲裁器行为方面起着重要作用,镜像成员在采取行动之前等待另一个镜像成员的响应。 QoS 超时本身代表最大等待时间,而最小值是其二分之一。较大的 QoS 超时允许镜像容忍来自网络或主机的较长时间的无响应,而不会将其视为中断;降低 QoS 允许镜像更快地响应中断。 QoS超时具体影响以下几种情况:

0 0
0 67
文章
· 七月 5, 2023 阅读大约需 2 分钟
基于IntegratedML及Dashboard的数据分析应用

基于InterSystems的集成ML技术和Dashboard,根据上传的CSV文件自动生成相关预测和BI页面。前端和后端在Vue和Iris中完成,使用户可以通过简单的操作生成所需的数据预测和分析页面,并根据这些页面做出决策。

# ZPM 安装

zpm:USER>install IntegratedMLandDashboardSample

# 部署流程

使用或创建新的命名空间

将代码导入相应的命名空间

在终端中执行:

Do # # class (customizemashinelerningandaanalysis. Util. Tool) Deployment()

前端是Vue文件夹下的dist文件夹。在使用它之前,请打开dist-static config.js并修改后端服务器要使用的IP和端口。然后您需要将iframeUrl的测试修改为“Analysis”+后端使用的命名空间,例如“AnalysisUSER”

然后启动前端文件(可以将dist文件夹放在tomcat中开始使用)

访问地址为:

Ip: port/dist

1 1
0 67

第四十三章 管理镜像 - 镜像成员日记传输和取消日记状态

当一个 IRIS 实例属于一个镜像时,它的成员类型和状态、日志传输状态和 dejournaling 状态由镜像监视器和 ^MIRROR 例程状态监视器选项显示,如监视镜像中所述。

下表描述了可能显示的类型和状态;第一个显示特定成员类型的特定状态,而第二个中的状态适用于所有成员类型。

0 0
0 67
文章
· 四月 30, 2023 阅读大约需 3 分钟
第四十四章 管理镜像 - 传入日记传输率

第四十四章 管理镜像 - 传入日记传输率

传入日记传输率

在备份和异步成员的镜像成员状态列表下方,自上次刷新镜像监视器以来日志数据从主服务器到达的速率显示在该成员的传入日志传输率下。

首次加载镜像监控页面时,该区域显示文本---(将在刷新时显示)。下次刷新页面时,显示的信息取决于传入的日志数据是否压缩(参见镜像流量压缩),如下:

0 0
0 67