#InterSystems IRIS for Health

0 关注者 · 862 帖子

InterSystems IRIS for Health™ 是全球第一个也是唯一一个专门为医疗应用程序的快速开发而设计的数据平台,用于管理全世界最重要的数据。它包括强大的开箱即用的功能:事务处理和分析、可扩展的医疗保健数据模型、基于 FHIR 的解决方案开发、对医疗保健互操作性标准的支持等等。所有这些将使开发者能够快速实现价值并构建具有突破性的应用程序。了解更多信息

InterSystems 官方 Michael Lei · 一月 21

InterSystems 已更正导致在使用特定 $LIST 语法时引入无效数据库和日志记录的缺陷。 遇到此缺陷的可能性非常低,但它对操作的影响可能会很大。

受影响的产品

  • InterSystems IRIS® 数据平台:2023.3、2024.1.0、2024.1.1、2024.1.2、2024.2、2024.3 版
  • InterSystems IRIS® for Health:2023.3、2024.1.0、2024.1.1、2024.1.2、2024.2、2024.3 版
  • HealthShare® Health Connect:2023.3.0、2024.1、2024.1.1、2024.1.2、2024.2、2024.3 版
  • HealthShare® Unified Care Record and Suite:2024.2 版
  • 基于上述产品的所有产品组合

该问题仅影响 Unicode 安装。

使用以下语法在 global 中向列表附加新元素时,会出现此问题:

SET $LIST(<global reference>, *+1) = value.

0
0 0
文章 姚 鑫 · 一月 18 2m read

第七十七章 设备特殊变量

^%IS 的更多功能

^%IS 还可用于执行以下任务:

  • 右边距抑制 — 可以设置终端线,以便每当选择该设备时,都会抑制右边距问题;默认值是自动假定的。
  • 自动设备选择 - 如果在调用 ^%IS 实用程序时存在变量 IOP,则实用程序会自动尝试打开该设备,而不是请求设备。如果 ^%IS 不成功,则将变量 POP 设置为 1
  • 预配置的终端 — 使用 Management Portal,可以配置不向用户请求任何设备信息的设备。

^%IS Global 的结构

^%IS 全局变量存储在 %SYS 命名空间中。它包含两个下标。第一个下标是在 Management Portal 中为设备配置的助记词名称。选择 System AdministrationConfiguration > Device SettingsIO Settings 以显示不同设备类型的默认助记词。第二个下标可以是 01

节点 0 的内容

节点 0 包含设备面板 Location 值:

^%IS(mnemonic,0) = Location

节点 1 的内容

节点 1 包含其他 Device panel 字段值,用插入符号 (^) 分隔:

0
0 0
文章 姚 鑫 · 一月 18 2m read

第七十六章 使用 ^%IS - 示例

示例

调用 CURRENT^%IS 后,将 $X$Y 设置为 DXDY 以定位光标。

  DO CURRENT^%IS
  WRITE *27,*61,*DY+32,*DX+32 
  SET $X=DX,$Y=DY

IN^%IS 入场点

IN^%IS 中的一个内部入口点,可以由仅计划从设备进行 input 的例程调用。此入口点可用于确保您不选择仅输出设备,例如打印机。

%SYS> Do IN^%IS

Device: 3 
Right margin: 132= <RETURN>
[you can't read from this device] 
Device: <RETURN>  
Right margin: 80= <RETURN>
%SYS>

OUT^%IS 入口点

OUT^%IS 中的一个内部入口点,可以由仅计划向设备输出的例程调用。

Spooling

IRIS 假脱机独立于您的操作系统执行的假脱机。IRIS 中的假脱机是一种技术,可让自动将程序的输出保存在全局中,而不是立即打印。稍后可以通过将 global 的内容发送到打印机来打印输出。

0
0 0
文章 姚 鑫 · 一月 16 3m read

第七十五章 使用 ^%IS - OPEN 参数

OPEN 参数

默认情况下,OPEN 命令使用 ^%IS 全局中定义的设备的规范。在使用 ^%IS 时,可以通过指定其他设置来覆盖这些设置。

发出 USE 命令

运行 ^%IS 后,应用程序必须向 ^%IS 打开的设备发出 USE 命令。你可以使用变量 IO,只要你明白每次调用 ^%IS 时它的值都会发生变化。然后,后续的IRIS I/O 命令,例如 READWRITE,将引用该设备。

发出 CLOSE 命令

用户或应用程序开发人员必须关闭使用 ^%IS 实用程序打开的设备。

^%IS 助记词

^%IS 有几个功能可以简化它的使用。例如,如果想将 I/O 发送到自己的终端,只需在“设备”提示符处按 Enter 键即可。还可以使用内置的默认助记词或您自己定义的新助记词。

设备助记词

为各种设备提供助记符很有用,在某些情况下,为单个设备提供多个助记符也很有用。多个助记符允许您为设备指定不同的设备特征,并根据设备的使用方式改变特征。例如,通常用于数据输入的终端,因此具有终端的特性,可能连接了辅助打印机。通过分配不同的助记词来打开具有不同特征的同一设备,当您需要硬拷贝时,您可以将终端/打印机组合视为打印机。

默认助记词

0
0 0
文章 姚 鑫 · 一月 15 3m read

第七十四章 使用 ^%IS

^%IS 是一个通用的设备选择实用程序,用于基于字符的应用程序。可以使用内置的 ^%IS 实用程序来允许用户选择要将 I/O 操作定向到的设备。每当要选择设备时,应用程序都应该调用 ^%IS 实用程序。此实用程序允许用户指定要使用的设备和相应的 OPEN 命令参数,打开所选设备,然后将特定于设备的信息返回给调用程序。用户输入已在 ^%IS 全局中定义的助记词。^%IS 依赖于 Management Portal 中建立的 IO 配置默认值。

^%IS 如何运作

设备提示

当您调用 ^%IS 实用程序时,IRIS 会提示输入设备名称。可以通过以下方式之一进行响应:

  • 输入所需的设备名称或 ID 号。
  • 输入设备的助记词。
  • Enter 选择当前设备。

^%IS 响应如下:

  • 如果输入设备助记词,则 ^%IS 会在 ^%IS 全局变量中找到对应的设备并打开它。
  • 如果输入设备名称,则 ^%IS 会向该设备发出 OPEN 命令。
  • 如果设备是 IRIS 设备 ID,则 ^%IS 会检查设备表,查看该编号是否被重新映射到另一个实际的设备编号。然后 ^%IS 为设备发出 OPEN

其他问题

0
0 0
文章 姚 鑫 · 一月 14 2m read

第七十三章 管理设备和助记词空间 - 设备的解释级别

^%ISOPEN 命令一起使用的设备标识符最多要经过三个级别的解释。因此,如果在 ^%ISDevice: 提示符处输入助记词 47,则使用的最终设备 ID 可能会有所不同。下面介绍了这三个级别。

级别 1:%IS 实用工具级别

如果使用 ^%IS 实用程序选择设备,则使用第一级。^%IS 全局中的助记词可以与设备编号相关联。然后,^%IS 实用程序向该设备编号发出 OPEN 命令。

级别 2:OPEN 命令级别

OPEN 命令中,IRIS 会检查此数字是否存在于 Device panel 表的 Alias 列中。如果是这样,它会将其转换为该设备的实际设备号或名称。

注:如果想通过 ^%IS 的助记词访问该设备,请确保不要定义与设备 ID 匹配但与其他设备关联的别名。

定义默认助记词

程序员可以通过在其应用程序中使用 WRITE /mnemonic 命令来控制设备。例如,当程序员使用以下命令使用 %X364 助记词时,他们可以将光标移动到终端设备上当前行中的特定列:

  WRITE /CHA(column)

由助记词的任何特定值引起的操作由 WRITE 命令使用的助记词空间决定。助记词空间是具有定义设备操作和属性的入口点 (助记词) 的例程。

0
0 0
文章 姚 鑫 · 一月 13 2m read

第七十二章 管理设备和助记词空间 - 定义设备

定义设备

可以在 Management PortalDevices (设备) 配置设置中定义、编辑和删除设备。您输入的信息存储在 ^%IS 全局变量中。有关此全局的更多信息,请参阅 ^%IS 全局的结构。

如果在 IRIS 运行时进行设备更改,系统会提示是否要在不重新启动 IRIS 的情况下激活更改。如果同意激活更改,则新定义将立即提供给用户。

访问设备

Windows 系统上,必须将设备编号用于作业间通信设备和常规联锁设备。对于终端和打印机,可以使用您分配的设备助记词或设备编号。

UNIX 系统上,可以使用 UNIX 文件规范来引用文件,也可以设置设备编号来引用文件。

可以通过以下两种方式之一访问设备:

  • ^%IS 实用程序的 Device: 提示符处输入设备助记词。
  • 发出 OPEN 命令并输入设备 ID 或别名。

允许用户使用 ^%IS 实用程序选择设备

如果希望基于字符的应用程序的用户以交互方式选择设备,请从应用程序中调用 ^%IS 实用程序。您可以在 允许用户指定设备 中了解有关 ^%IS 实用程序的更多信息。

要使用 ^%IS 实用程序选择设备:

  1. Device: 提示符处,输入设备助记词。

预定义的助记词空间

0
0 0
文章 姚 鑫 · 一月 12 2m read

第七十一章 管理设备和助记词空间 - 设备 ID

可以通过数字或操作系统名称来识别设备。可以在 OPEN 命令中使用此标识符。

设备别名

可以为定义的每个 IRIS 设备定义一个或多个别名值。当用户在 OPEN 命令中指定别名时,IRIS 会将其转换为设备 ID

IRIS 提供的默认设备 ID 适用于大多数用户。但是,某些用户可能希望覆盖这些默认值。可以通过在 Management Portal 中提供别名作为设备配置设置的一部分来实现此目的。

默认设备 ID 和助记词

当安装 IRIS 时,这些是每种设备类型的默认设备编号和助记符。

默认设备编号和助记词

Device 装置Device ID 设备 IDMnemonic 记忆Notes 笔记
Principal0TERM无法更改此设备的设备 ID
Spooler后台处理程序2 SPOOL

但是,IRIS 还可以识别可用于定义设备的其他设备编号。下表列出了已识别的默认设备编号。

IRIS 默认设备编号

0
0 0
文章 姚 鑫 · 一月 9 2m read

第六十九章 打印机 - 使用助记词空间控制设备

助记词是执行设备控制操作(如光标移动和设备属性)的 IRIS 例程。每个操作都与一个标签相关联。这些标签是 WRITE /mnemonic 命令中使用的助记词。有关 WRITE /mnemonic 语法的更多信息,请参阅本文档其他页面中每种设备类型的 WRITE 命令说明。

预定义的助记词空间

IRIS 提供下表中描述的预定义助记词空间。

预定义的助记词空间

Routine Name 例程名称Device Type Default 设备类型 默认Description 描述
^%X364终端、顺序文件、其他设备X3.64 (ANSI) 端子的助记词空间。有关信息,请参阅 X3.64 的助记词空间。
^%XDTMDTM PC ConsoleDTM PC 控制台的助记词空间。有关信息,请参阅 DTM PC Console 的助记词空间。

设置默认助记词

可以在 Management Portal 中更改以下设备类型的默认助记词空间。依次选择 System Administration、Configuration (配置)、Device Settings (设备设置)、 IO Settings (IO 设置)。这将显示以下内容的助记词:

0
0 0
文章 姚 鑫 · 一月 7 3m read

第六十八章 打印机 - 在 UNIX® 上指定打印机

要在 UNIX 设备名称为 /dev/tty06 的终端上打开 I/O 设备,请输入以下命令

   OPEN "/dev/tty06"

UNIX 系统上,打印机由 OPEN 命令上的名称标识,并在 tty 设备上作为“字符特殊”文件处理。因此,支持的 OPENUSE 命令参数与终端 I/O 相同, 而不是顺序文件 I/O 的参数。

UNIX 上,OPEN 支持大多数终端 I/O 关键字参数,如终端 I/O 中所述。

将输出定向到打印机

可以使用 %IS 实用程序将输出定向到打印机。可以使用命令 DO ^%IS 调用 %IS 实用程序。(也可以使用 DO OUT^%IS 来指定选择的是仅输出设备。无论哪种情况,IRIS 都会返回 Device: 提示符。要指定打印机,请使用默认助记符 “|PRN|“ 或其他已配置打印机的助记符。然后,%IS 实用程序会建议 OPEN 参数;对于打印机,默认值为 “W” (只写)。可以通过按 Enter 键来接受参数 default,如以下示例所示:

%SYS>DO ^%IS
Device: |PRN|
Parameters? "W" => <RETURN>
%SYS>

这将打开指定的打印机作为当前进程的输出设备。

%IS 实用程序设置各种变量。以下是 Windows 系统上的打印机默认值。

%IS 设置的变量

0
0 0
文章 姚 鑫 · 一月 5 2m read

第六十六章 打印机

打印机

本页讨论了如何在 IRIS 数据平台中配置和使用打印设备。打印机是仅物理输出设备。打印机可以是字符打印机,也可以是非字符设备,例如传真或绘图仪。

在大多数情况下,输出不会直接发送到打印机。通常,要打印的输出首先发送到逻辑假脱机设备(^SPOOL 全局)。然后,可以将 ^SPOOL 全局的内容发送到物理打印机。有关假脱机的更多详细信息,请参阅 假脱机设备。

打印机概述

请注意,WindowsUNIX 处理打印机 I/O 的方式不同。

  • Windows 系统将打印机作为顺序 I/O 设备处理,因此遵循与顺序文件 I/O 相同的语法。但是,通过串行通信端口连接的打印机将作为终端 I/O 设备处理。
  • UNIX 系统始终将打印机作为终端 I/O 设备进行处理。UNIX 将其视为 tty 设备上的 “字符特殊” 文件,因此遵循与终端 I/O 相同的语法。

Windows 系统上,您可以使用 %Library.Device.InstalledPrinters() 方法返回系统上当前打印机的计数。您可以使用 %Library.Device.GetPrinters() 方法返回系统上当前打印机的列表。

指定打印机

可以为打印机分配一个介于 2562047 之间(包括 2562047)的设备编号。此设备编号范围也用于终端和平面文件。

0
0 0
InterSystems 官方 Michael Lei · 一月 5

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

版本亮点

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

  1. 数据库和 WIJ 文件的扩展速度大大提高
  2. 能够通过 Visual Trace 重新发送消息
  3. 增强的规则管理器功能
  4. 向量搜索增强功能
  5. 等等。

请通过开发者社区分享您的反馈,与我们共同打造更好的产品。

文档

请访问以下链接了解所有亮点功能的详细信息:

此外,请查看此版本的升级信息

抢先体验计划 (EAP)

目前提供多个 EAP。 请查看此页面并注册您感兴趣的计划。

如何获取软件?

像往常一样,持续交付 (CD) 版本包含适用于所有受支持平台的经典安装包,以及 Docker 容器格式的容器镜像。

经典安装包

0
0 0
文章 姚 鑫 · 一月 4 2m read

第六十五章 假脱机设备 - 列出假脱机文档

列出假脱机文档

%SPOOL 实用程序菜单 List documents 的选项 2 显示当前为运行 %SPOOL 的目录假脱机的文档列表。如果没有 Despool start-end 值,则文档尚未解散(打印)。

每个假脱机文档的描述显示在有关该文档的其余信息之后的一个或多个单独行上。

在以下示例中,用户选择了选项 2。显示屏将显示存储在后台处理程序中的两个文档。第一份记录在 830 日下午 2:23 存储,并于当天下午 2:25 打印。第二份于 34 日上午 11:39 存储,并于当天上午 11:42 打印。

0
0 0
文章 姚 鑫 · 一月 4 3m read

第六十四章 假脱机设备 - 使用 %SPOOL 打印

使用 %SPOOL 打印

%SPOOL 实用程序菜单的选项 1 Print(打印)允许您在任何设备上打印 ^SPOOL 全局中的一个或多个文档,继续打印中断的文档,以及将单张纸张手动送入信纸质量打印机。通过将输出发送到后台处理程序,可以在输出设备打印文档时释放终端用于其他用途。

可以在完全创建后台打印文档之前或之后开始打印。如果打印机赶上新输出,则打印过程将暂停 5 秒钟,然后打印在此期间累积的所有输出。打印过程知道您何时关闭了后台打印文档,并在文档完成时完成。

%SPOOL 打印文档时,它会跟踪已打印的页面。它还会创建页面索引,以便可以按页码对文档进行排序,并从您选择的任何页面的顶部开始打印。

如果停止打印(例如,在终端输出期间按 Ctrl-c,或者打印机损坏),则可以稍后在最后一个部分打印的页面的顶部或文档中任何其他页面的顶部继续打印。请注意,IRIS 不会将文档开头的换页数计为页数中的页数。

%SPOOL 使用术语 despool 来表示打印。仅当文档已打印(depooled)时,Despool start-end 列和描述行中才会有值。

使用 Print 函数

0
0 0
InterSystems 官方 Michael Lei · 一月 3

InterSystems IRIS® 数据平台、InterSystems IRIS® for Health 和 HealthShare® Health Connect 2025.1  的首个开发者预览版已发布到 WRC 开发者预览网站。容器可在我们的容器注册表中找到,并已添加 latest-preview 标签。

这些开发者预览版包含用于迁移到 IBM Open XL C/C++ for AIX 17.x 编译器的功能,从而在旧版编译器接近支持终止时确保与未来的 AIX 版本兼容。 此迁移侧重于 aixopenssl30 目标,支持 AIX 7.2 和 7.3 上的 SSL3。

可以在以下链接中找到初始文档:

可用性和软件包信息

此版本提供适用于所有受支持平台的经典安装包。有关完整列表,请参阅“支持的平台”文档

安装包和预览版密钥可从 WRC 的预览版下载网站或通过评估服务网站(勾选“Show Preview Software”(显示预览软件)框)获取。

0
0 0
文章 姚 鑫 · 一月 1 2m read

第六十二章 假脱机设备 - 查看 ^SPOOL 全局

查看 ^SPOOL 全局

与任何下标的全局变量一样,您可以通过发出 WRITE 命令来显示 spool 文件中的行,如下所示:

   WRITE "1st spool file node: ",^SPOOL(1,1),!

但是,要查看和编辑假脱机文件本身,请转到管理门户并选择 System ExplorerGlobals。选择您当前的命名空间,找到 SPOOL 全局变量,然后单击 data。这将显示类似于以下示例的假脱机文件数据。

在下面的假脱机文件中,() 终止字符结束假脱机文件中的每个节点行。这些终止字符是假脱机文件的一部分,作为 $CHAR(13,10) 连接到文本字符串(ReturnLine Feed)。

^SPOOL(1,1)=<<"First line of text"_$C(13,10)>>
^SPOOL(1,2)=<<"Second line of text"_$C(13,10)>>
^SPOOL(1,2147483647)={59605,43605{3{

在下面的假脱机文件中,没有行终止字符。两个 WRITE 命令写入一个 node 行,该行由关闭 spool 文件终止。

0
0 0
文章 姚 鑫 · 十二月 31, 2024 2m read

第六十一章 假脱机设备 - 假脱机和特殊变量

写入 ^SPOOL 时,IRIS 会不断更新 $X$Y特殊变量。$X 表示写入当前索引行的字符数,$Y 包含当前 OPEN 期间写入的行数。请注意,$Y 的值不一定与 node 索引相同。例如:

   /* Writing to the ^SPOOL global */
   OPEN 2:(2:3)
   USE 2
     WRITE "Hello " SET x1=$X,y1=$Y,z1=$ZA
     WRITE "world",! SET x2=$X,y2=$Y,z2=$ZA
     WRITE "Good to see you",! SET x3=$X,y3=$Y,z3=$ZA
   CLOSE 2

   /* Displaying the ^SPOOL global */
   WRITE ^SPOOL(2,3),^SPOOL(2,4)
   WRITE !,"$X=",x1," ",x2," ",x3
   WRITE !,"$Y=",y1," ",y2," ",y3
   WRITE !,"$ZA=",z1," ",z2," ",z3
0
0 0
文章 姚 鑫 · 十二月 29, 2024 2m read

第六十章 假脱机设备 - WRITE 命令

WRITE 命令

要将一行写入 ^SPOOL 全局变量,请发出 WRITE 命令,以行终止符字符结尾。例如

   /* Writing to the ^SPOOL global */
   OPEN 2 
   USE 2 
     WRITE "First line of text",!
     WRITE "Second line of text",!
   CLOSE 2

   /* Displaying the ^SPOOL global */
   WRITE ^SPOOL(1,1),^SPOOL(1,2)

每行都以行终止符(感叹号)结尾,并存储在单独的全局节点中。

但是,在生成单个打印行时,可能需要使用多个 WRITE 命令;如果 WRITE 不包含行终止符,则下一个 WRITE 命令将附加到同一打印行。两者都写入同一个全局节点。此行保存在缓冲区中,在发出行终止字符或关闭后台处理程序设备之前,不会写入后台处理程序全局。

以下示例在发出 CLOSE 时写入一个全局节点:

0
0 0
文章 姚 鑫 · 十二月 27, 2024 2m read

第五十九章 假脱机设备

介绍

IRIS数据平台使能够将打印输出直接发送到您的打印机或屏幕,或将其保留在后台打印中以供以后打印。IRIS 假脱机独立于您的操作系统执行的假脱机。

IRIS 中的假脱机是一种技术,可让自动将程序的输出保存在 ^SPOOL 下标全局中,而不是立即打印。可以通过将 ^SPOOL 全局的内容发送到打印机来稍后打印输出。本页介绍使用此假脱机工具的两种方法:使用 ObjectScript 命令(OPEN、USE、WRITE、CLOSE)或使用 %IS%SPOOL 实用程序。

打开和使用假脱机设备

要将输出发送到当前命名空间中的 spool 全局变量,请打开 spooler 并将其指定为输出设备。

假脱机程序是 IRIS 提供的预定义设备。它在设备表中被分配了设备编号 2。此设备号可用于在 OPENUSECLOSE 命令中标识后台处理程序设备。

您可以通过 Management Portal 访问后台处理程序设备信息。依次选择 System AdministrationConfiguration (配置)、Device Settings (设备设置)、Devices (设备)。在这里,将找到设备 2 和名为 SPOOL 的设备。默认情况下,它们都映射到同一物理设备(设备 2),并且具有相同的 option 值。

0
0 0
文章 姚 鑫 · 十二月 25, 2024 2m read

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

WRITE 命令

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

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

语法

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

CLOSE 命令

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

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

语法

CLOSE file 
CLOSE file:"D" 
CLOSE file:("R":newname)
  • file 文件 任何有效的文件规范,用引号括起来。指定的文件必须已打开。在 UNIX 路径名中,可以使用波形符 (~) 扩展来指示当前用户的主目录。例如:~myfile~/myfile
  • "D" 关闭并删除具有参数中指定的名称的文件。
  • ("R":newname) 使用参数中指定的名称关闭文件,并将其重命名为 newname

CLOSE-Only 命令关键字

下表描述了仅使用 CLOSE 命令控制顺序文件的关键字。

顺序文件的 CLOSE-only 命令关键字

/DELETE[=n] /DEL[=n]

0,除非文件在打开时标记为删除。

0
0 0
文章 Louis Lu · 一月 26, 2022 2m read

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

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

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

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

或者查看SQL执行结果:

可以在其中输入 /help ,获取更多帮助信息

安装

1. 点击进入项目下载页面,选择下载最新的版本。

2. 在任意的命名空间下导入下载的xml文件。

注意在这里选择导入文件的同时也要勾选上 “编译导入的项”

3. 之后会出现下面提示导入成功的提示

如果出现类似于下面的错误提示:

请将下载的 WebTerminal-v4.9.3.xml 文件编辑做下面修改

1 . 第1611行:修改为 

set requiredRole = "%DB_IRISSYS"

2. 第1730行:修改为

set dbPrefix = "IRIS"

重新导入就可以了。

使用

0
0 339
文章 姚 鑫 · 十二月 24, 2024 2m read

第五十七章 File 输入 输出 - READ 命令

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

READ 命令从当前设备读取数据,一次读取一条记录。读取超过文件末尾会导致错误。

语法

READ x#n:timeout
  • x 该变量将保存从文件中读取的记录。
  • n 可选 – 对于可变长度读取,为要读取的字符数,指定为整数。对于固定长度的读取,此参数将被忽略。
  • timeout 超时 可选 – 在超时之前等待读取操作完成的秒数。整数值或解析为整数的变量。

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

以下示例显示了从 Windows 顺序文件中读取固定长度记录的 READ 操作。它创建一个顺序文件,将数据写入该文件,然后关闭该文件。然后,它会打开此文件以进行 4 个字符的固定长度读取 (“RF”:4)。它将 USE position 参数设置为第一条记录(记录 0);每个读取操作都会推进此位置。FOR 循环将每个四字符的记录读取到下标变量中。然后,ZWRITE 命令显示所有这些下标局部变量及其值。

0
0 0
文章 姚 鑫 · 十二月 23, 2024 2m read

第五十六章 File 输入 输出 - USE 命令

US 命令

USE 命令使打开的顺序文件成为当前设备。可以打开多个顺序文件,但一次只能使用一个顺序文件。

语法

USE file:position
  • file 文件

任何有效的文件规范,用引号括起来。指定的文件必须已打开。在 UNIX 路径名中,可以使用波形符 (~) 扩展来指示当前用户的主目录。例如:~myfile~/myfile

  • position 位置

可选 — 文件中下一个 READWRITE 的位置。position 值是一个数字表达式,其含义取决于文件的记录格式。对于固定长度的记录,position 是相对于零的绝对记录号,其中每条记录都包含在前面的 OPEN 命令中指定的字符数。对于流或可变长度记录,position 是相对于零的绝对字节位置。默认设置是从文件开头开始按顺序读取或写入记录。

可以使用 $ZSEEK 函数设置文件位置,该位置由字符数相对于顺序文件的开头、当前位置或结尾的偏移量指定。$ZPOS 特殊变量包含从顺序文件开头开始的当前字符计数位置。

USE-only 命令关键字

除了上面列出的与 OPEN 共享的命令关键字外,USE 命令还有自己的一组关键字:

顺序文件的 USE-only 命令关键字

/POSITION=n

0
0 0
文章 姚 鑫 · 十二月 22, 2024 2m read

第五十五章 File 输入 输出 - 与非 InterSystems IRIS 软件的交互

与非 InterSystems IRIS 软件的交互

Windows 系统上,在 IRIS 中打开顺序文件以进行 “WL” 写入访问通常会阻止非 IRIS 应用程序打开顺序文件进行写入访问。同样,非 IRIS 应用程序打开顺序文件进行写入访问通常会阻止 IRIS 进程并发 “WL” 写入访问。

但是,某些非 IRIS 应用程序,包括记事本和写字板应用程序,会打开一个文件,在共享模式下复制文件,然后立即关闭它。因此, IRIS 进程仍然可以以 “WL” 模式打开文件。当这些非 IRIS 应用程序之一尝试将其副本中的更改保存到原始文件,或尝试重新打开原始文件时,将发生错误。更严重的情况可能发生如下:如果这些非 IRIS 应用程序之一打开了一个文件,然后 IRIS 打开、修改和关闭文件,然后非 `` 应用程序保存对文件的更改,两个进程所做的更改都被保存,文件数据的完整性可能会受到损害。

UNIX 系统上,在 IRIS 中打开一个顺序文件以进行 “WL” 写访问通常不会影响非 IRIS 应用程序的行为。您必须使用锁来可靠地限制来自非 IRIS 应用程序的写入访问。

示例

0
0 0
文章 姚 鑫 · 十二月 20, 2024 2m read

第五十四章 File 输入 输出 - OPEN 参数关键字

OPEN 参数关键字

下表描述了顺序文件的 OPEN 命令参数关键字:

顺序文件的 OPEN关键字参数

/PARAMS=str /PAR=str

No defaul

对应于 parameters 位置参数。(它提供了一种以与位置无关的方式指定参数字母代码字符串的方法)。

/RECORDSIZE=int /REC=int

无默认值

对应于 reclen 位置参数,该参数为固定长度记录建立记录大小。(目前仅针对 READ 操作实现。

/TERMINATOR=str /TER=str

无默认值

对应于 terminators 位置参数,该参数建立用户定义的终止符。str 是一串用户定义的记录终止符,仅适用于 Stream 模式。它们允许覆盖默认终止符:回车符、换行符和换页符。用户定义的终止符仅适用于输入,它们不会影响数据写入文件的方式(终止符作为特殊字符写入文件)。如果有多个用户定义的终止符,则会将其视为终止符列表,而不是用作单个终止符的多字符序列。

OPEN 模式锁定

当两个进程尝试打开同一个顺序文件时,第二个 OPEN 会根据第一个OPEN 使用的模式成功或失败。下表显示了使用独占 (“L”) 和非独占读取和写入模式的两个打开之间的交互。请注意,这些交互的解释取决于平台。为 Windows 操作系统和 UNIX 操作系统提供了表。

0
0 0
文章 姚 鑫 · 十二月 19, 2024 4m read

第五十三章 File 输入 输出 - OPEN模式参数

A /APPEND /APP

Append:WRITE 操作将数据附加到现有文件的末尾。默认设置是覆盖现有数据,而不是 append

S /STREAM

流格式,回车符、换行符或换页符作为默认终止符。S、V、F 和 U 模式是互斥的。Stream record format 是默认格式。

V /VARIABLE

请勿尝试在可变长度顺序文件末尾以外的任何位置插入记录;WRITE 将使文件中的所有数据从 WRITE 之后的点开始无法访问。S、V、F 和 U 模式是互斥的。流记录 (S) 格式是默认格式。

使用转换表写入的可变长度记录(例如使用 UTF8 转换的 Unicode 数据)可能会导致存储的记录具有与输入数据不同的字符串长度。IRIS 在读取此记录时使用原始输入字符串长度。

F /FIXED /FIX

Fixed length:每条记录都是 reclen 参数中指定的长度。例如:OPEN “myfile”:(“RF”:4) USE “myfile”:0 READ x:5此示例将前 4 个字符的记录读入变量 x。这仅适用于 READ 操作(不适用于 WRITE 操作)。S、V、F 和 U 模式是互斥的。

U /UNDEFINED

0
0 0
文章 姚 鑫 · 十二月 18, 2024 3m read

第五十二章 File 输入 输出 - OPEN模式参数

OPEN 模式参数

可以通过以下两种方式之一指定 OPEN 模式参数

  • 用引号字符括起来的字母代码字符串,如 “VRWN”。每个字母都指定一个参数。字母代码可以按任何顺序指定;因为 IRIS 按照从左到右的顺序执行它们,所以在某些情况下,字母代码之间的交互可能会决定首选顺序。
  • 一系列 /keyword 参数,未加引号。这些参数用冒号分隔。关键字参数可以按任意顺序指定;因为 IRIS 以从左到右的顺序执行它们,所以在某些情况下,参数之间的交互可能会决定首选顺序。

指定字母代码参数和关键字参数的组合时,请先指定字母代码字符串,然后指定关键字参数,用冒号分隔。以下示例指定三个字母代码参数,后跟两个关键字参数,后跟 reclen 和 timeout 参数。

  OPEN "mytest":("WNS":/OBUFSIZE=65536:/GZIP=0:32767):10

N /NEW

新建文件。如果指定的文件不存在,则系统创建该文件。如果指定的文件已作为 ReadOnly 文件存在,则系统会删除旧文件并将其替换为同名的新文件(权限允许)。请注意,应使用文件锁定来防止使用此参数的并发进程覆盖同一文件。

0
0 0
文章 姚 鑫 · 十二月 15, 2024 4m read

第五十一章 File 输入 输出 - 文件路径名工具

文件路径名工具

如果当前设备是顺序文件,则$ZIO包含该文件的完整路径名。

可以使用$ZSEARCH返回指定文件或目录的完整文件规范(路径名和文件名)。文件名可能包含通配符, $ZSEARCH使用通配符返回一系列满足通配符的完全限定路径名。

%Library.File 类包含许多提供文件系统服务的方法。这些包括:

  • NormalizeDirectory(),返回指定文件或目录的完整路径名。
  • NormalizeFilenameWithSpaces(),根据主机平台的情况处理路径名中的空格。如果路径名包含空格字符,则路径名处理取决于平台。 WindowsUNIX® 允许路径名中包含空格字符,但包含空格的整个路径名必须用一组附加的双引号 (") 字符括起来。这与 Windows cmd/c语句一致。有关详细信息,请指定cmd / ?Windows 命令提示符下。

波形符 (~) 扩展

Windows 路径名中,波形符 (~) 表示长名称的 8.3 压缩。例如: c:\PROGRA~1\ 。要转换压缩目录名称,请使用 %Library.File 类的 NormalizeDirectory() 方法。

UNIX 路径名中,可以使用波形符 (~) 扩展来指示当前用户的主目录或指定用户的主目录:

0
0 0
文章 姚 鑫 · 十二月 14, 2024 4m read

第五十章 File 输入 输出

本页介绍在 IRIS 数据平台中使用顺序文件。

重要:在大多数情况下,可以使用 %Library.File 类提供的 API,而不需要此页面上的详细信息。请参阅使用 %Library.File

介绍

所有操作系统都将磁盘 I/O 文件视为顺序文件。 Windows 系统将打印机视为顺序文件 I/O 设备(除非打印机通过串行通信端口连接)。 UNIX® 系统将打印机视为终端 I/O` 设备。有关打印机的更多详细信息,请参阅打印机。

本节讨论 IRIS 如何处理顺序文件。它提供了顺序文件 I/O 的介绍以及相关命令的说明。

0
0 0