文章
· 十二月 25, 2024 阅读大约需 2 分钟
第五十八章 File 输入 输出 - WRITE 命令

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

WRITE 命令

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

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

语法

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

CLOSE 命令

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

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

0 0
0 12
InterSystems 开发者社区汇聚了 21,246 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!

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

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

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

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

2016-09-18_212035

或者查看SQL执行结果:

0 3
0 281
文章
· 十二月 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 16
文章
· 十二月 24, 2024 阅读大约需 1 分钟
新的WebTerminal —— iterm

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

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

安装方法

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

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

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

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

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

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

0 0
0 19
文章
· 十二月 24, 2024 阅读大约需 2 分钟
第五十七章 File 输入 输出 - READ 命令

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

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

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

0 0
0 15
文章
· 十二月 23, 2024 阅读大约需 2 分钟
第五十六章 File 输入 输出 - USE 命令

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

US 命令

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

语法

USE file:position
  • file 文件

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

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

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

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

我们看看以下的例子:

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

3 0
0 112
问题
· 九月 13, 2021
怎么获取Caché的CDC数据?

1.Caché数据库有没有办法配置然后用sql读取数据库实时变化的数据,类似于mssql那样?我看了可以写类去读取global获取journal的值,但是怎么用sql读呢?

2.不行的话,那用什么方式可以读取到journal日志文件,并输出日志文件的内容?

先谢谢大家了!!!

0 8
0 494
文章
· 十二月 22, 2024 阅读大约需 2 分钟
第五十五章 File 输入 输出 - 与非 InterSystems IRIS 软件的交互

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

与非 InterSystems IRIS 软件的交互

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

0 0
0 19
文章
· 十二月 20, 2024 阅读大约需 2 分钟
第五十四章 File 输入 输出 - OPEN 参数关键字

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

OPEN 参数关键字

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

顺序文件的 OPEN关键字参数

/PARAMS=str /PAR=str

No defaul

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

/RECORDSIZE=int /REC=int

无默认值

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

/TERMINATOR=str /TER=str

无默认值

0 0
0 13
文章
· 十二月 19, 2024 阅读大约需 4 分钟
第五十三章 File 输入 输出 - OPEN模式参数

第五十三章 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 在读取此记录时使用原始输入字符串长度。

0 0
0 15
文章
· 十二月 18, 2024 阅读大约需 3 分钟
第五十二章 File 输入 输出 - OPEN模式参数

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

OPEN 模式参数

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

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

0 0
0 23
文章
· 十二月 15, 2024 阅读大约需 4 分钟
第五十一章 File 输入 输出 - 文件路径名工具

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

文件路径名工具

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

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

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

0 0
0 18
文章
· 十二月 14, 2024 阅读大约需 4 分钟
第五十章 File 输入 输出

第五十章 File 输入 输出

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

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

介绍

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

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

0 0
0 15
文章
· 十二月 13, 2024 阅读大约需 3 分钟
第四十九章 终端输入 输出 - 转义序列编程

第四十九章 终端输入 输出 - 转义序列编程

转义序列编程

转义序列的 ANSI 标准使智能终端的编程变得实用。字符串中转义字符及其后面的所有字符不会显示在屏幕上,但会更新$X$Y 。使用WRITE *语句将转义序列发送到终端,并通过直接设置$X和$Y来保持它们最新。

ANSI 标准建立了转义序列的标准语法。特定转义序列的效果取决于使用的终端类型。

每次READ之后在$ZB中查找传入的转义序列。 IRISANSI 标准转义序列和任何其他使用 ANSI 形式的转义序列放入$ZB中。 IRIS 可识别两种形式的转义序列:

0 0
0 15
文章
· 十二月 11, 2024 阅读大约需 2 分钟
第四十七章 终端输入 输出 - DTM PC 控制台的助记符空间

第四十七章 终端输入 输出 - DTM PC 控制台的助记符空间

DTM PC 控制台的助记符空间

IRIS 提供 IRIS 例程 %XDTM 来匹配开发 DTM 应用程序时使用的助记符。该助记词空间可用,但未设置为终端默认助记词空间。如果您将为 DTM 创建的应用程序移植到 IRIS,可以:

0 0
0 15
文章
· 十二月 10, 2024 阅读大约需 4 分钟
第四十六章 终端输入 输出 - CLOSE 命令

第四十六章 终端输入 输出 - CLOSE 命令

CLOSE 命令

释放设备的所有权,这是通过OPEN命令获得的。

语法

CLOSE device

终端预定义助记符空间

IRIS 提供了两个预定义的助记符空间供终端使用:

  • ^%X364 用于 ANSI X3.64 终端
  • ^%XDTM 用于 DTM PC 控制台

如果激活这些助记符空间之一,则可以在WRITE /mnemonic命令中使用与它们关联的控制助记符。还可以创建自己的助记符空间。有关助记符空间的更多信息,请参阅使用助记符空间控制设备。

以下部分描述了这些助记符空间的控制助记符。

0 0
0 12
文章
· 十二月 8, 2024 阅读大约需 3 分钟
第四十四章 终端输入 输出 - 特殊协议字符影响终端 I O

第四十四章 终端输入 输出 - 特殊协议字符影响终端 I O

特殊协议字符影响终端 I O

每个操作系统都会拦截某些协议字符 (UNIX) 或组合键(例如 Windows 平台上的CTR-ALT-DEL ),以防止这些字符影响 IRISWindows 控制台不会尝试覆盖这些操作系统特征。

其他特殊字符可以改变例程的执行方式,但不会出现在READ命令变量中。在图像模式下操作终端会取消这些效果,并使 IRIS 像对待任何其他字符一样对待这些字符。

READ受输出和输入控制字符的影响。 READ只是读取除终止字符之外的所有其他控制字符。它不回应他们。

输出控制字符影响例程的流程和输出。下表对此进行了描述:

0 0
0 13
文章
· 十二月 7, 2024 阅读大约需 2 分钟
第四十三章 终端输入 输出 - READ 命令

第四十三章 终端输入 输出 - READ 命令

Read 命令

从键盘读取 032 KB 的内容到指定变量中。超时参数是可选的。该命令不能以井号 (#) 或冒号 (:) 结尾

语法

READ variable:timeout                                             ; Variable-length read
READ variable#length:timeout  ; Fixed-length read
READ *variable:timeout                                           ; Single-character read

示例

下表提供了如何使用这些参数的几个示例。

0 0
0 20
文章
· 十二月 6, 2024 阅读大约需 2 分钟
第四十二章 终端输入 输出 - 显式终止符

第四十二章 终端输入 输出 - 显式终止符

显式终止符

OPENUSE命令中的终止符参数允许您将特定字符定义为READWRITE命令的终止符。这些显式终止符可用于补充指定协议提供的终止符字符。终止符参数还可用于覆盖协议对字符的指定,并将其指定为终止符。将字符重新定义为终止符的能力的例外情况是:ASCII 0 (NULL)ASCII 3 ( Ctrl-C ) 以及两个输出控制字符Ctrl-Q (XON)Ctrl-S (XOFF)。它们保留其功能,并且不能重新定义为终止符。

示例

此示例将 ZBackspaceTab定义为主设备的终止符。下划线是连接运算符。

0 0
0 12
文章
· 十二月 5, 2024 阅读大约需 3 分钟
第四十一章 终端输入 输出 - 协议终止符

第四十一章 终端输入 输出 - 协议终止符

协议终止符

OPENUSE 协议定义了哪些 READ 输入字符、控制序列和击键被视为隐式终止符。这四种协议是 I(图像模式)、N(正常模式(默认))、R(读取行调用模式)和 T(终止符模式):

0 0
0 12
文章
· 十二月 4, 2024 阅读大约需 5 分钟
第四十章 终端输入 输出 - 用于OPEN和USE的字母代码协议

第四十章 终端输入 输出 - 用于OPEN和USE的字母代码协议

用于OPEN和USE的字母代码协议

特殊情况或终端可能需要不同的协议。使用协议字母代码参数(或相应的关键字参数),可以更改 IRIS 与终端通信的规则。协议对正常读取和单字符读取的影响是一样的。

禁用所有特殊协议的正常模式足以满足大多数终端 I/O 的需要。在正常模式下,IRIS 会回显每个传入的 ASCII 字符,并将其发送回以显示在终端上。 Return或有效的转义序列结束READ命令。

对终端发出OPEN会关闭所有先前的协议,除非您使用 +- 选项。

下表描述了有效的协议字符及其效果。

0 0
0 15
文章
· 十二月 3, 2024 阅读大约需 4 分钟
第四十章 终端输入 输出 - OPEN 和 USE 命令的关键字参数

第四十章 终端输入 输出 - OPEN 和 USE 命令的关键字参数

OPENUSE 命令的关键字参数

下表描述了使用OPENUSE命令控制终端设备的关键字参数。对于每个关键字,该表列出了OPENUSE相应的字母代码协议。有关使用这些协议的其他信息可以在字母代码协议表中找到。

0 0
0 11
文章
· 十二月 2, 2024 阅读大约需 4 分钟
第三十九章 终端输入 输出 - terminator

第三十九章 终端输入 输出 - terminator

terminator

第三个位置参数:最多八个字符的字符串,其中任何一个都将终止READ 。这些终止符是协议中内置终止符的补充。请参阅使用终止符结束 I/O 操作。

portstate

4 个位置参数:按位置顺序最多包含 8 个字节的字符串,用于控制 COM 端口状态。端口状态字节如下(字节从1开始按从左到右的顺序编号):

0 0
0 17
文章
· 十二月 1, 2024 阅读大约需 3 分钟
第三十八章 终端输入 输出 - USER命令

第三十八章 终端输入 输出 - USER命令

USER命令

使指定终端成为当前设备。在编程器模式下,同一行代码上的所有后续 I/O 命令都引用该设备。在应用程序模式下,您在USE命令中命名的设备将一直保留为当前设备,直到下一个USE命令为止。

USE 语法

USE命令采用以下参数:

USE terminal:(margin:protocols:terminator):"mnespace"

终端参数可以是一个表达式,其值为终端设备的名称。零 (0) 是该进程的主要设备。 $IO是当前设备。终端的最大长度为 256 个字符。

参数由冒号 (:) 分隔。如果省略参数,则必须指定冒号。命令或其参数列表不得以冒号结束。

0 0
0 14
您好,欢迎阅读 十一月 2024 开发人员社区通讯。
统计信息
✓ 十一月发布了 33 篇新帖子:
30篇新文章
2个新公告
1个新问题
✓ 十一月有 32 位新成员加入
✓ 所有时间发布了 2,284 篇帖子
✓ 所有时间有 2,071 位成员加入
0 0
0 20