首先,祝开发者社区的各位成员新年快乐! 我们希望今年为大家带来更多好东西,今天我想介绍 VS Code的最新版 Intersystems Language Server 扩展程序。 大多数 Language Server 改进都可以通过 ObjectScript 扩展 UI 体验到,因此您可能不知道 2024 年我们发布了 Intellisense 和鼠标悬停等方面的许多改进。 请快速浏览 Language Server 更新日志 看看您错过了什么。 最近发布的2.7.0 版本带来了对 Windows ARM 平台的支持,因此,如果您使用 Surface Pro 11 这类设备(我正在用这台设备愉快地写这篇帖子),那么您现在可以在您的设备上获得出色的 ObjectScript 开发体验。 赶快试用一下,并在下方评论区中分享您的使用心得。

0 0
0 19

InterSystems IRISInterSystems IRIS for HealthHealthShare Health Connect 的最新扩展维护版本现已发布。

✅ 2024.1.3

版本 2024.1.3 修复了 2024.1.x 上一版中的 bug,包括针对最近发布的以下提醒的修复 – 提醒:在执行特定的操作时,数据库和日志文件中引入了无效数据…

您可以在以下页面上找到详细的变更列表和升级核对清单:

0 0
0 28
文章
· 一月 22 阅读大约需 2 分钟
如何查询某张数据表占用的磁盘空间?

近期有些小伙伴需要查询某张特定的表所占用的磁盘大小,可能其他小伙伴也有类似的需求。

给大家一个例子供参考。

应当考虑到IRIS的表底层使用global存储数据,包括表数据、索引数据和流数据(如果表中有流属性的话),因此一张表的完整占用应当包含至少上述三种global的求和,如下所示:

1 0
0 41

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

背景信息

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

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

0 0
0 30

2024.3InterSystems IRIS® 数据平台、InterSystems IRIS® for HealthHealthShare® Health Connect 现已正式发布 (GA)。

版本亮点

在此版本中,您可以期待一系列激动人心的更新,包括:

0 0
0 42

许多使用InterSystems IRIS的用户在调试代码的时候习惯使用命令行的方式,比如运行一个函数查看输出或者查看代码运行过程中保存在global中的数据等等。

对于将 InterSystems IRIS 安装在 Windows 操作系统的用户,只需要点击右下角图标选择Terminal 就可以很方便的使用。

但是对于将其安装到 Linux 或者Docker 容器中的用户,要使用命令行却不那么方便,下面我将会介绍在我们 Openexchange 中的一个应用 -- Web Terminal。

也就是说可以在网页中直接执行Terminal中的命令。

2016-09-18_212035

或者查看SQL执行结果:

0 3
0 314
文章
· 十二月 25, 2024 阅读大约需 2 分钟
在IRIS 2024.2 中使用 WebTerminal

IRIS 2024.2 版本包含一项变更(DP-432503),该变更要求Web Gateway最初连接到 IRIS 时所使用的用户(通常是 CSPSystem)必须对承载 REST web applicatioon 的dispatch类的数据库具备 READ 权限。

在不满足该条件的情况下,就会引发一个错误,这会向调用者返回一个 HTTP 404 状态码,而非预期的 HTTP 401 状态码。

显然,这个问题将在 2024.3 版本中修复,参考编号为 DP-432898 / ALI048:REST 登录端点将返回 401 HTTP 错误码而非 404,但作为持续交付(CD)版本,2024.2 不会获得维护版本修正。

解决方法是让 CSPSystem 用户对安装WebTerminal所在命名空间的数据库具备读权限。

下面是所需的步骤:

1. 创建一个新的资源 “%DB_WEBTERMINAL”,并设置 “WEBTERMINAL” 数据库使用该资源,而非 “%DB_% DEFAULT”。

2. 创建一个名为 “% DB_WEBTERMINAL” 的角色,该角色能让角色持有者对 “% DB_WEBTERMINAL” 资源具有读写(RW)访问权限。

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

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

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

安装方法

0 0
0 25
文章
· 十二月 24, 2024 阅读大约需 1 分钟
如何基于表格现有数据新增数据列

现有一个数据表的数据像这样:

我们的需求是基于表中的Item列新增一个status字段,如果item的内容是第一次出现,那么status列就是New,反之显示Old,

比如,应该是下面的显示内容

在原文章的回复中, Robert Cemper给出了下面的建议

新建一个存储过程,并在SELECT查询语句中生效:

0 0
0 25
文章
· 十二月 23, 2024 阅读大约需 6 分钟
从TTL值发现网络中的中间人攻击

技术支持团队在不同的项目中发现了类似中间人攻击的情况, 和各位分享一下。

我们的系统一般是安装在内网里,没有恶意的中间人攻击的风险。但是在有些医院发现了这样的情况:IT在网络中安装了某种网络监控或者嗅探的设备, 它会在通信通道中模拟其中一方,或者双方的通信节点, 以截获通信双方的网络流量。通常它不影响双方的通信,但偶尔,它会中断双方的连接, 造成业务的中断。实质上这也是一种中间人攻击的情况,只不过这是用户允许的行为,偶然出现了故障。

我们看看以下的例子:

以下的wireshark抓包截图中, 172.18.1.131和172.18.1.145在正常的通信过程中, 忽然收到了RST消息,造成了TCP连接上的复位。

3 0
0 136
文章
· 十一月 22, 2024 阅读大约需 1 分钟
设置Windows IIS 用于显示 HTTP 返回的错误详细信息

当我们将 InterSystems IRIS 安装在Windows 系列操作系统中时,往往同时使用IIS 作为其Web 服务器。

但这时候我们却发现,由RESTful返回的错误信息却不能正常显示出来了,特别是在调试程序的时候,非常不方便。

比如在测试 FHIR Post/Put 请求时,我们的请求消息体中包含不正确的内容,这时我可以看到返回的是HTTP 400 Bad Request的返回内容.

我无法具体知道请求消息体哪句出错了,这对我调试程序造成很大困扰。

解决方法:

1. 打开IIS的管理页面,双击 错误页

2. 选择右侧 编辑功能设置

1 0
0 50
文章
· 十一月 18, 2024 阅读大约需 2 分钟
第二十五章 TCP 客户端 服务器通信 - TCP 设备的 READ 命令

第二十五章 TCP 客户端 服务器通信 - TCP 设备的 READ 命令

TCP 设备的 READ 命令

从服务器或客户端发出 READ 命令以读取客户端或服务器设置的任何字符。

语法如下:

READ var:timeout 
READ *var:timeout
READ var#length:timeout

超时参数虽然是可选的,但强烈建议使用,因为如果指定了超时,则 READ 的成功或失败由 $TEST 特殊变量的值指示。如果在超时到期之前读取尝试成功,则 $TEST 设置为 1;如果超时到期,$TEST 设置为 0

超时参数支持秒和秒的分数到 1/100 秒。例如,1010.5.5.05

0 0
0 26

我们公司在和其他公司合作,需要从Cache2016的数据库中执行sql获取数据

sql的内容是调用存储过程

CALL DHCXXXXice.MKPIQuery_QueryXXXX('K007XXXX.JJR','2024-08-01','2024-08-01')

在java代码中执行会报错误如下

但是通过数据库连接工具却能查询到结果

通过数据库连接工具查询到 该存储过程,可接收参数为8个

0 0
0 74
文章
· 十月 28, 2024 阅读大约需 3 分钟
配置IRIS Container - 使用iris-main

使用iris-main

iris-main是IRIS镜像的的ENTRYPOINT程序。 在Container中,ENTRYPOINT 指令允许你指定一个可执行程序或者脚本,作为容器启动后运行的主程序。这个程序会在容器启动时自动执行。

执行docker ps命令可以看到当前container的ENTRYPOINT是什么:

0 0
0 30
文章
· 十月 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 34
文章
· 十月 28, 2024 阅读大约需 7 分钟
配置Webgateway Conainter

上一篇文章使用人工配置的方法简单的配置了webgateway container. 接下来来介绍如何在docker-compose里做自动化部署。

先总结我们要做的事情:

  1. 配置到IRIS的连接。定义连接的iris的IP地址或者DNS, 以及连接的用户名密码 以及其他的对默认值的修改。
  2. 配置apache2的配置文件,保证到IRIS的HTTP请求能发送给CSP Webgateway。
  3. 很多时候,用户会希望使用HTTPS访问IRIS,因此需要在apache2上支持TLS。

这些是最基本的功能。除此之外, 用户还可能会要求建立WebGateway到IRIS的TLS连接,或者在Apache2部署自己的网页等等。后面的文章会一一介绍。

配置CSP.ini

上一篇文章中,我通过Webgateway管理页面定义了Webgateway到IRIS的连接,其实是定义了webgateway的配置文件CSP.ini。 无论WebServer是什么类型,IIS,Apache, Nginx, CSP.ini的都是一样的。在Linux中, CSP.ini位于/opt/webgateway/bin目录。

0 0
0 39
文章
· 十月 28, 2024 阅读大约需 1 分钟
安装IRIS docker container - 索引

我在3年前写过同样内容的文章。随着IRIS版本的更新,安装的细节有了些变化,而且,尤其是2024年以后的版本不再使用PWS(Private Web Server), 安装最新版本的IRIS通常同时要安装一个外部的Web服务器,Apache或者nginx。 另外, 大家对自动部署的需要越来越多,因此我也会在下面的内容里面包括自动部署,配置iris, 安装软件等等内容。希望给各位一个基本完整的介绍。

内容列表如下:

基础篇

  • IRIS images的下载和docker run
  • apache-webgateway container到iris的连接
  • nginx-webgateway container到iris的连接
  • iris-main和在container外保存iris数据
  • 配置iris的新方法:CPF merge
    ...

随时更新

1 0
0 77

InterSystems FAQ

一个实例上的最大命名空间数量是 2047. 但是,要使用这么大量的命名空间,你需要相应地配置好内存。

一个实例里可以创建的数据库的最大数量(包括远程数据库) 15998. 根据授权的类型,可能会有所限制。具体细节请参考以下文档。
Database Configuration [IRIS]
Database Configuration

0 0
0 46

我们最近在向量搜索抢险体验计划中提供了新版的 InterSystems IRIS,新版本采用了新的基于分层可导航小世界 (HNSW) 索引算法的近似最近邻索引。 这一新增功能可对大型向量数据集进行高效的近似最近邻搜索,从而显著提高查询性能和可扩缩性。

HNSW 算法旨在通过构建基于图形的结构来优化高维数据的向量搜索,从而更快地在大型向量集合中找到近似邻。 无论您使用的是推荐系统、自然语言处理,还是其他机器学习应用,HNSW 都能显著缩短搜索时间,同时允许您调整准确度水平,但准确度提高的代价是查询时间变慢。

HNSW 的主要优点包括:

0 0
0 33
问题
· 九月 25, 2024
活动量

请问一下,活动量仪表盘这个界面怎么激活,实例怎么展现?我的服务器展开没有数据,但是是有消息记录的。

0 1
0 34

欢迎来到我的 CI/CD 系列的下一个章节,我们将探讨使用 InterSystems 技术和 GitLab 进行软件开发可以采用的几种方式。

今天,我们来谈谈互操作性。

问题

当您有一个有效的互操作性生产时,您有两个独立的流程:一个是处理消息的可以正常运行的生产流程,另一个是更新代码、生产配置和系统默认设置的 CI/CD 流程。

显然,CI/CD 流程会影响互操作性。 但问题是:

  • 更新期间究竟发生了什么?
  • 我们需要做些什么以在更新期间尽可能缩短或消除生产停机时间?
0 0
0 28

经过将近四年的停顿,我的 CI/CD 系列又回来了! 这些年来,我与多个 InterSystems 客户合作,为不同的用例开发 CI/CD 管道。 希望本文中提供的信息对您有所帮助。

系列文章探讨了使用 InterSystems 技术和 GitLab 进行软件开发可以采用的几种方式。

我们有一系列激动人心的话题要讨论:但今天,我们来谈谈代码之外的事情 – 配置和数据。

问题

之前我们探讨过代码提升,这在某种程度上是无状态的 – 我们总是从一个(大概)空实例到完整的代码库。 但有时,我们需要提供数据或状态。 不同的数据类型包括:

0 0
0 35

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

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

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

0 0
0 35