文章
· 四月 29, 2021 阅读大约需 3 分钟
WebGateway系列(4): 配置HTTPS访问IRIS的Web服务

经常被问到有关IRIS如何支持SSL,HTTPS的问题,有必要写个东西介绍一下。

HTTPS的原理

简单的说,https实现两个目的:一是访问网站加密,2是确认被访问的网站是真的。

首先,被访问的网站要申请一个证书,这个证书必须是权威机构发放的,比如google, VeriSign等等,所有的浏览器里有预装了这些组织的公钥(Public Key),因此能确认你提供的证书真是这些组织给出的,而这个证书可以证明你的网站的身份。注意证书证明的是提供服务的组织和服务的真实性,和用什么设备没关系,也就是说,IRIS不管证书的事儿。

接下去,被访问的服务器可以生成公钥和私钥,和客户端交换key,生成整个世界只有两者知道的security code,用来两者之间数据的交换。详细的过程和消息交互可以在网上找到很多很好的文章和视频,比如这个: How does HTTPS work? What's a CA? What's a self-signed Certificate?

0 0
0 258

在本帖中,我将展示使用外部备份来备份 Caché 的策略,以及与基于快照的解决方案集成的示例。 如今,大多数解决方案部署在基于 VMware 的 Linux 上,因此许多帖子都以展示解决方案如何集成 VMware 快照技术为例。

Caché 备份 - 包括电池?

Caché 安装后即包含 Caché 在线备份,可提供不间断的 Caché 数据库备份。 但随着系统规模的扩大,您应该考虑更高效的备份解决方案。 集成了快照技术的外部备份是推荐的系统(包括 Caché 数据库)备份解决方案。

外部备份有特殊注意事项吗?

外部备份的在线文档包含了全部详细信息。 一个关键考虑事项是:

“为确保快照的完整性,Caché 提供了在创建快照时冻结数据库写操作的方法。 在创建快照期间,只冻结对数据库文件的物理写入,从而允许用户进程继续在内存中不间断地执行更新。”

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

第四章 收发电子邮件

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

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

支持电子邮件协议

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

0 0
0 69
文章
· 六月 1, 2021 阅读大约需 3 分钟
第十三章 使用SSH

第十三章 使用SSH

%Net.SSH软件包支持SSH(安全外壳)通信。本主题简要介绍此包中的类。

创建SSH会话

%Net.SSH.Session表示SSH会话。要使用此类,请执行以下操作:

  1. 创建类的实例。
  2. 使用Connect()实例方法连接到服务器。
  3. 使用AuthenticateWithKeyPair()AuthenticateWithUsername()向服务器验证身份。
  4. 使用%Net.SSH.Session的其他方法执行进出远程系统的单个文件的SCP(安全复制)操作、执行远程命令、传输TCP通信或执行SFTP操作。

例如,使用SFTP将会话用于SFTP操作。此方法通过引用返回可用于SFTP操作的%Net.SSH.SFTP实例。

0 0
0 101
文章
· 六月 5, 2021 阅读大约需 5 分钟
第七章 Caché JSON %JSON快速参考

第七章 Caché JSON %JSON快速参考

%JSON快速参考

本节提供本章中讨论的%JSON方法、属性和参数的快速参考。

%JSON.Adaptor方法

这些方法提供了从JSON序列化和序列化到JSON的能力。

%JSONExport()

%JSON.Adaptor.%JSONExport()将启用JSON的类序列化为JSON文档,并将其写入当前设备。

0 0
0 158
文章
· 六月 18, 2021 阅读大约需 6 分钟
第十一章 重新定义读取器处理相关对象的方式

第十一章 重新定义读取器处理相关对象的方式

重新定义读取器处理相关对象的方式

%XML.Reader找到与启用了XML的类相关的XML元素时,读取器会调用该类的XMLNew()方法,后者又会在默认情况下调用%New()。也就是说,当读取器找到相关元素时,它会创建相关类的新对象。新对象由从XML文档读取的数据填充。

可以通过在启用XML的类中(或在自己的自定义XML适配器中)重新定义XMLNew()来自定义此行为。例如,此方法可以改为打开该类的现有实例。然后,现有实例接收从XML文档读取的数据。

以下示例显示如何修改XMLNew()以使用XML文档中的新数据更新现有实例。

在这两个示例中,为简单起见,我们假设XML文档中的一个节点包含一个ID,我们可以将该ID与类的范围中的ID进行比较。当然,我们可以用其他方式将XML文档与现有对象进行比较。

0 0
0 63
文章
· 七月 1, 2021 阅读大约需 3 分钟
第二十四章 执行XSLT转换

第二十四章 执行XSLT转换

执行XSLT转换

要执行XSLT转换,请执行以下操作:
- 如果使用的是Xalan处理器(对于XSLT 1.0),请使用%XML.XSLT.Transformer的以下类方法之一:
- TransformFile()——转换给定XSLT样式表的文件。
- TransformFileWithCompiledXSL()——转换一个文件,给定一个已编译的XSLT样式表。
- TransformStream()——转换给定XSLT样式表的流。
- TransformStreamWithCompiledXSL()——转换一个流,给定一个已编译的XSLT样式表。
- TransformStringWithCompiledXSL()——转换给定已编译XSLT样式表的字符串。

0 0
0 77

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

0 0
0 104
文章
· 八月 13, 2021 阅读大约需 1 分钟
FAQ 常见问题系列--Object Script篇 字符串%String长度限制

众所周知,Object Script是一个弱类型开发语言,%String是我们非常常用的一个类型,时不时有客户在初次接触Object Script编写程序时遇到%String长度限制的问题,在这里做一个简单总结,以便于相关开发人员作为参考。

1. MAXLEN设置字符串的长度。
Property Name As %String(MAXLEN = 50);
a) 如果不设置MAXLEN, 默认长度限制为50
b) MAXLEN = "", 没有限制长度,也就是字符串本身的长度限制。

如果超限,您将会看到如下报错,
错误 #7201: 数据类型值'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz'的长度超过50允许的MAXLEN

2. 字符串本身的长度限制。
在没有开启长字符串的情况下,%String类型的长度限制是32,767个字符。

0 2
0 348
文章
· 八月 20, 2021 阅读大约需 3 分钟
用于ObjectScript的IRIS 原生API

这些API虽然在IRIS 2020.1中已经实现了,但没有被放在官方文档里。

这都是直接从Class Reference中提取的,我只是收集了它来创建第一个概述。

ObjectScript的本地API遵循其他语言平台上使用的API。它从一个静态API开始,允许用户使用Iris Connection连接到IRIS命名空间,无论是本地还是远程。连接接口允许用户实例化IRIS本地API类(%Net.DB.Iris)。然后,该实例可用于访问IRIS全局数组,管理事务,调用例程或类中实现的函数和方法,以及实例化远程迭代器。

0 0
0 80
文章
· 九月 11, 2021 阅读大约需 3 分钟
第十三章 SQL命令 CREATE ROLE

第十三章 SQL命令 CREATE ROLE

创建角色

大纲

CREATE ROLE role-name

参数

  • role-name - 要创建的角色的名称,它是一个标识符。角色名称不区分大小写。

描述

CREATE ROLE命令可创建角色。角色是可以分配给多个用户的一组命名权限。一个角色可以分配给多个用户,一个用户可以分配多个角色。角色在系统范围内可用,它不限于特定的命名空间。

0 0
0 63

本文档介绍了如何使用 InterSystems JDBC 驱动程序连接到 InterSystems IRIS®数据平台实例,这样您就可以在 InterSystems IRIS 中使用 Java。

要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。

0 0
0 490
文章
· 十月 9, 2021 阅读大约需 1 分钟
第四十章 SQL命令 DROP USER

第四十章 SQL命令 DROP USER

删除用户帐户。

大纲

DROP USER user-name

参数

  • user-name 要删除的用户名。

描述

DROP USER命令可删除用户帐户。此用户帐户是使用CREATE USER创建的,并指定了用户名。如果指定的用户名与现有用户帐户不对应, IRIS将发出SQLCODE-118错误。可以通过调用$SYSTEM.SQL.Security.UserExists()方法来确定用户是否存在。

用户名不区分大小写。

还可以使用管理门户删除用户。选择System Administration(系统管理)、Security(安全性)、Users(用户)以列出现有用户。在此用户帐户表上,可以单击要删除的用户帐户的删除。

0 0
0 47
文章
· 十月 19, 2021 阅读大约需 5 分钟
第五十章 SQL命令 HAVING(一)

第五十章 SQL命令 HAVING(一)

对一组数据值指定一个或多个限制性条件的SELECT子句。

大纲

SELECT field
FROM table
GROUP BY field
HAVING condition-expression

SELECT aggregatefunc(field %AFTERHAVING)
FROM table
[GROUP BY field]
HAVING condition-expression

参数

  • condition-expression - 由一个或多个布尔谓词组成的表达式,用于控制要检索哪些数据值。

描述

可选的HAVING子句出现在FROM子句、可选的WHEREGROUP BY子句之后,可选的ORDER BY子句之前。

0 0
0 54
文章
· 十月 31, 2021 阅读大约需 2 分钟
第六十二章 SQL命令 OPEN

第六十二章 SQL命令 OPEN

打开游标。

大纲

OPEN cursor-name

参数

  • cursor-name - 游标的名称,已经声明过了。
    游标名称是在DECLARE语句中指定的。
    游标名称区分大小写。

描述

OPEN语句根据游标的DECLARE语句中指定的参数打开游标。
一旦打开,就可以获取游标。
打开的游标必须关闭。

  • 试图打开未声明的游标会出现SQLCODE -52错误。
  • 试图打开已经打开的游标会导致SQLCODE -101错误。
  • 试图获取或关闭未打开的游标将导致SQLCODE -102错误。

成功的OPEN设置SQLCODE = 0,即使结果集是空的。

0 0
0 88
文章
· 十一月 25, 2021 阅读大约需 4 分钟
第八十七章 SQL命令 VALUES

第八十七章 SQL命令 VALUES

指定字段中使用的数据值的INSERT/UPDATE子句。

大纲

(field1{,fieldn})
     VALUES (value1{,valuen})

参数

  • field - 字段名或以逗号分隔的字段名列表。
  • value - 值或以逗号分隔的值列表。
    每个值被赋给相应的字段。

描述

VALUES子句用于INSERTUPDATEINSERT or UPDATE语句中,以指定要插入到字段中的数据值。
通常:

0 0
0 52
文章
· 十二月 9, 2021 阅读大约需 5 分钟
第十章 SQL谓词 IN

第十章 SQL谓词 IN

将值匹配到以逗号分隔的非结构化列表中的项。

大纲

scalar-expression IN (item1,item2[,...])

scalar-expression IN (subquery)

参数

  • scalar-expression - 标量表达式(最常见的是数据列),将其值与以逗号分隔的值列表或子查询生成的结果集进行比较。
  • item - 一个或多个文本值、输入主机变量或解析为文本值的表达式。
    以任何顺序列出,以逗号分隔。
  • subquery - 一个用括号括起来的子查询,它从单个列返回一个结果集,用于与标量表达式进行比较。

描述

IN谓词用于将值匹配到非结构化的项系列。
通常,它将列数据值与以逗号分隔的值列表进行比较。
IN可以执行相等比较和子查询比较。

0 0
0 51
文章
· 十二月 19, 2021 阅读大约需 5 分钟
第二十章 SQL谓词 %STARTSWITH(二)

第二十章 SQL谓词 %STARTSWITH(二)

首尾空格

在大多数情况下,%STARTSWITH将前导空格视为与任何其他字符相同的字符。
例如,%STARTSWITH ' B'可用于选择只有一个前导空白后跟字母B的字段值。然而,只包含空白的子字符串不能选择前导空白;
它选择非空值。

尾随空格的%STARTSWITH行为取决于数据类型和排序规则类型。
%STARTSWITH忽略定义为SQLUPPER的字符串子串的尾随空格。
%STARTSWITH不会忽略数字、日期或列表子字符串中的尾随空格。

在下面的示例中,%STARTSWITH将结果集限制为以“M”开头的名称。
因为Name是一个SQLUPPER字符串数据类型,子字符串的末尾空格将被忽略:

0 0
0 30
文章
· 一月 25, 2022 阅读大约需 2 分钟
第三十四章 SQL函数 CURDATE

第三十四章 SQL函数 CURDATE

返回当前本地日期的标量日期/时间函数。

大纲

{fn CURDATE()}
{fn CURDATE}

描述

CURDATE不接受任何参数。它将当前本地日期作为数据类型DATE返回。请注意,参数括号是可选的。CURDATE返回此时区的当前本地日期;它根据本地时间变量(如夏令时)进行调整。

逻辑模式下的CURDATE$HOROLOG格式返回当前本地日期;
例如,64701
显示模式下的CURDATE以区域设置的默认格式返回当前本地日期。
例如,在美国的区域设置为02/22/2018,在欧洲的区域设置为22/02/2018,在俄罗斯的区域设置为22.02.2018

0 0
0 40