搜索​​​​

公告
Michael Lei · 九月 17

InterSystems Docker 桌面扩展正式发布

好消息, InterSystems 容器镜像仓库Docker桌面扩展已正式发布供大家 下载 . 大家可以在Docker桌面版的marketplace 下载.下载后需要重启 Docker Desktop to 欢迎在github repository中给我们反馈, 点击这里
文章
Michael Lei · 九月 15

InterSystems IRIS 10大功能特性

InterSystems IRIS是一个伟大的数据平台,它满足了当前市场所需的功能。在这篇文章中,你可以看到我心目中的前10大功能: 排名 特性 原因 了解更多 1 互操作性, FHIR 和物联网 商业机构之间需要持续互联和交换数据。各个业务部门之间也需要加强协作来将本增效。实现协作的最佳技术是IRIS的互操作工具包,尤其是 服务总线ESB, 集成适配器,业务流程自动化引擎,数据转化工具以及例如FHIR和MQTT等。 Link 1 Link 2 Link 3 2 API 管理器 大家通过API来消费数字资产。API需要在一个中心点管理其重用、安全、消费、资产目录、开发者生态系统和其他方面。API管理器是实现这一目标的正确工具。因此,所有的公司都有或希望有一个API管理器。 Link 3 数据分片 据预测,全球创造、捕获、复制和消费的数据总量将迅速增加,在2020年达到64.2 zettabytes。在接下来的五年里,直到2025年,全球数据创建量预计将增长到180兆字节以上。在2020年,创造和复制的数据量达到了新高(来源:https://www.statista.com/ statistics/871513/worldwide-data-created/)。在这种情况下,能够以分布式的方式处理数据(进入数据分片,如hadoop或mongodb),以提高和保持性能,对企业至关重要。另一件重要的事情是IRIS比Cache快3倍,比在AWS云上比AWS数据库更快。 Link 1 Link2 4 Python 支持 Python 是实现AI的最流行的语言,AI现在是大部分企业战略的核心,帮助企业获得更多洞见、更多生产力和降低成本. Link 1 Link 2 Link 3 5 原生APIs (Java, .NET, Node.js, Python) 和自定义扩展 PEX 美国有将近100万开放的IT职位 (source: https://www.cnbc.com/2019/11/06/ how-switching-careers-to-tech-could-solve-the-us-talent-shortage.html). 也很难找到 Object Script 开发者. 因此, 能够支持各种主流语言(Python, Java, .NET, 等.)来使用IRIS特性非常重要. Link 1 Link 2 Link 3 Link 4 Link 5 Link 6 6 自适应分析 实时分析当前的业务数据,减少建模工作,提高运行速度,支持主要的分析查看器(包括Excel)是企业战略的一个关键因素。 Link 7 云, Docker 和微服务 每个人都想要微服务架构。他们希望打破传统单体应用来创建更小、更简单、解耦的、可扩展、可复用和独立的应用项目。 IRIS 支持用户部署数据、应用和分析的微服务。 IRIS 支持数据分片, docker, kubernetes, 分布式计算, DevOps 工具和更低的 CPU/内存消耗 (IRIS 甚至支持 ARM 处理器!). 使用 IRIS API管理器,可以帮助企业实现配合业务的微服务架构。 Link 1 Link 2 Link 3 Link 4 Link 5 8 嵌入式报表 报表对企业是十分重要的。运营者和决策者要用到大量的报表,有很多报表也要提交给客户。移动端和微服务APP需要支持嵌入式报表,IRIS也支持所有这些需求。 Link 1 9 VSCode 支持 VSCode 是最流行的开发工具,InterSystems IRIS 有一套非常棒的工具来支持它。 Link 1 Link 2 Link 3 10 数据科学 使用Python, R 和一体化机器学习(自动机器学习)可以支持企业及时得到AI提供的洞见。InterSystems IRIS 包括所有这些功能。 Link 1 Link 2 Link 3
公告
Claire Zheng · 九月 19

欢迎来了解一下 InterSystems Ideas ——我们的官方反馈门户

开发者社区的同学们,大家好! 我们一直以来都有一个想法——改进收集、分析和回应开发者社区成员们的产品改进请求的过程。我们知道,我们需要一个良好的用户体验,甚至更好的内部流程,来确保收集、听取和响应最好的想法。现在,这个想法终于实现了! 我们在此向您介绍 InterSystems官方反馈门户 💡 >> InterSystems Ideas << 💡 InterSystems Ideas InterSystems Ideas是一个全新的、推动改进的渠道,您可以通过它向我们提交与InterSystems服务(文档、开发社区、全球大师等)相关的产品改进请求和想法,看看其他人提交了什么,为你喜欢的想法投票,投票给你最喜欢的,并从InterSystems获得反馈。 我们开始积极开发和推广创意门户网站InterSystems Ideas和您的创意。我们希望这可以为您提供一个公开的方式来获得我们的产品经理和社区成员的反馈。 ✅ 获得投票最多的想法会得到产品管理部门的评审。 来社区分享你的想法吧!通过投票和评论为其他想法提供贡献——投票越多,影响力越大! 点击看看创意网站 InterSystems Ideas portal!
文章
姚 鑫 · 九月 27

第四十五章 配置第三方软件以与 InterSystems 产品结合使用

# 第四十五章 配置第三方软件以与 InterSystems 产品结合使用 产品通常在与非 工具一起运行的环境中运行,我们的产品与此类工具之间的交互可能会产生有害影响。 关于最佳、可靠部署配置的指导假定我们的产品可以在不受第三方工具干扰的情况下进行部署。例如, 发现用于安全、系统监控或病毒扫描的软件可能会影响我们产品的安装、性能和功能。对于直接与属于 产品的一部分或被 产品使用的文件进行交互的工具(例如病毒扫描程序)尤其如此。 了解客户面临的业务、合规性和其他要求会影响有关在给定环境中运行哪些软件以及如何配置此类软件的决策。一般来说, 建议我们产品的服务器端安装通过物理安全和隔离来保护。这种保护应该减少对其他工具的需求,或者至少减少它们运行的频率。 病毒扫描仪观察: 1. 为了交付经过病毒检查的软件, 产品在经过消毒的环境中交付给我们的客户,并通过提供校验和进行验证。 2. 性能影响。 [对策] 出于扫描目的,排除以下文件和目录: - `WIJ` 文件和包含 `WIJ` 文件的目录`*`。 - 本指南“配置 `IRIS`”一章中的所有数据库文件 (`.DAT`) 和包含数据库文件的目录*(请参阅配置数据库)。 - 存储或处理日志文件的任何目录`*`。 - `IRIS®` 数据平台运行所需的任何其他文件`/`目录`*`。例如备用日志目录*(请参阅数据完整性指南中的“日志”),或业务服务或生产使用的任何目录*。 3. 可执行文件的误报。 [对策] 出于扫描目的,排除所有 `irisdb.exe` 文件和包含 `irisdb.exe` 文件的目录。 警告:从恶意软件扫描中排除项目可能会将漏洞引入受保护的设备和应用程序。客户承担配置恶意软件保护的所有责任。 最后,当 发现第三方软件与我们的产品之间的交互对我们的产品行为产生负面影响时,我们会将这些问题报告给第三方供应商。
公告
Claire Zheng · 九月 27

首届InterSystems Idea创意马拉松

社区成员们,大家好! 我们开心地宣布一种全新类型的比赛——寻找最聪明的创意比赛!欢迎了解: 💡 InterSystems Idea 创意马拉松 💡 在9月26日至10月16日期间提出一个与InterSystems产品和服务相关的想法,即可获得达成奖。 最重要的是,此次赛事InterSystems的员工和社区成员都可以参与! >> 点击提交你的想法吧! << 规则 InterSystems Idea创意马拉松是由InterSystems Ideas反馈门户组织的,在InterSystems Ideas反馈门户,您可以提交与我们的服务(文档、开发社区、全球大师等)相关的产品增强请求和想法,并投票选出您喜欢的。 在本次比赛中,我们邀请大家在这个门户网站上分享自己的想法,并为他人投票。 只需在 InterSystems Ideas网站 提交想法即可参赛。 合格的参赛创意应符合: 用户在Idea-A-Thon创意马拉松期间提交,由通过InterSystems Ideas网站注册的用户创建(您可以通过InterSystems SSO登录); 不要成为其他已经存在的想法的一部分——只允许新的想法; 不描述InterSystems产品或服务的现有功能; 除了标题之外,还要对观点的本质进行详细而清晰的解释; 以英文发帖; 被专家认为是有意义的。 所有符合条件的想法将在InterSystems ideas门户网站上拥有一个特殊的“Idea-A-Thon”状态,可以很容易地在Idea创意马拉松上找到。 谁可以参加? 我们邀请所有人加入我们的创意马拉松。欢迎InterSystems员工和社区成员参与并提交创意想法。 奖项 1. 参与奖 :每个发布合格想法的人都会将获得奖励: 🎁 InterSystems Branded T-Shirt 2. 专家奖:获胜者将由InterSystems专家团队选出,并将获得: 🎁 LEGO Star Wars™ R2-D2™ / BOSE Sleepbuds™ II / BOSE SoundLink Flex Bluetooth® speaker bundle 3. 社区奖:获得最多投票的创意,获奖者将获得: 🎁 LEGO Star Wars™ R2-D2™ / BOSE Sleepbuds™ II / BOSE SoundLink Flex Bluetooth® speaker bundle 重要提示:InterSystems的员工只能获得参与奖。专家奖和社区奖只能由非intersystems社区成员获得。 参赛时间 📝 9月26日 - 10月16日:创意发布、投票阶段 在此期间发布一个或几个创意。InterSystems Ideas网站的注册会员可以为发表的创意投票,这些投票将计入社区奖。 注意:越早发表你的创意,你就越有更多的时间去收集投票。 来参加吧! 来 InterSystems Ideas 发布你的创意拿大奖!时刻关注你的创意! 祝大家好运 👍 Important note: All prizes are subject to availability and shipping options. Some items may not be available to ship internationally to specific countries. Prizes cannot be delivered to residents of Crimea, Russia, Belarus, Iran, North Korea, Syria, or other US-embargoed countries. We will let you know if a prize is not available and offer a possible replacement. 重要提示:所有奖品均受可用性和运输选择。有些项目可能无法国际运输到特定国家。奖品不能发放给克里米亚、俄罗斯、白俄罗斯、伊朗、朝鲜、叙利亚或其他美国禁运国家的居民。如果没有奖品,我们将告知您,并提供可替代品。
文章
Michael Lei · 九月 12

分析InterSystems开发者社区的的开放应用

针对InterSystems开发者社区的分析。使用InterSystems IRIS BI (DeepSee)、Power BI和Logi Report Designer制作的项目,可视化并分析InterSystems 开发者社区上的成员、文章、问题、答案、观点和其他内容和活动。 你可以看到自己的活动、文章和问题。跟踪你的贡献如何改变开发者社区。 使用IRIS BI、Adaptive Analytics、InterSystems Reports、Tableau和Power BI分析关于你和你朋友的统计数据。 该项目包含预配置的IRIS和Atscale在Docker容器中的部署以及BI系统的项目文件。 更多细节信息请见相应应用的README。 这个项目也支持在线部署,你可以在这里查看。
文章
Jingwei Wang · 九月 16

Java 连接到InterSystems IRIS数据库 - 使用 JDBC

连接前准备: Java 开发环境 InterSystems JDBC 驱动 Connection String 步骤: 配置 Classpath :指向InterSystems JDBC 驱动 - intersystems-jdbc-3.0.0.0.jar Connection String,其中import com.intersystems.jdbc*;用来导入驱动,User是命名空间名称。 import com.intersystems.jdbc*; import java.sql.Connection; public class JDBCConnection{ public static void main (String[] args) throws Exception { String dbUrl = "jdbc:IRIS://127.0.0.1:1972/User"; //replace String user = "SQLAdmin"; String pass = "deployment-password"; IRISDataSource ds = new IRISDataSource(); ds.setURL(dbUrl); ds.setUser(user); ds.setPassword(pass); Connection dbconnection = ds.getConnection(); System.out.println("Connected to InterSystems IRIS via JDBC."); } }
公告
Claire Zheng · 九月 19

轻而易举!来InterSystems Ideas为你的想法分类吧!

开发者社区的同学们,大家好! 在 之前的公告 中,我们向大家介绍了InterSystems官方反馈门户 InterSystems Ideas! 今天想给大家介绍更多,尤其是涉及到的主题。 你可以按以下主题类别提交你的想法: 💡 InterSystems Products(InterSystems产品) 在这里,您可以在这里发布与我们产品发展相关的创意和想法: InterSystems IRIS数据平台 InterSystems IRIS for Health(医疗版)数据平台 InterSystems HealthShare InterSystems TrakCare 💡 InterSystems Services(InterSystems服务) 您可以在这里发表如何使我们的服务变得更好的想法: Developer Community (开发者社区) Open Exchange app gallery(Open Exchange应用库) Global Masters gamification platform(Global Masters游戏平台) Partner Directory(供应商目录) Documentation(文档) Certification(认证) Learning (学习) 以及InterSystems Ideas Portal 还有一个主题类别是 "Other(其他)" ,如果您的创意和想法与上述两类不直接相关,可以放在这个类别下。 选择好类别(Category)后,您也可以自由添加合适的关键字/标签: 如果您认为还有哪些类别和关键字值得被添加到这里,欢迎随时与我们分享! 点击一下,来 InterSystems Ideas portal 提出你的意见和建议吧✌️
文章
Jingwei Wang · 九月 16

C++ 应用程序连接到InterSystems IRIS数据库 - 使用 ODBC

连接前准备: C++ 开发环境 InterSystems ODBC 驱动 (ODBC 驱动会随InterSystems IRIS安装包自动安装在服务器中) Connection String 步骤: Connection String:其中#include 用来导入需要使用的libraries,"Driver=InterSystems IRIS ODBC35;Host=localhost;Port=1972;Database=USER;UID=SQLAdmin;PWD=deployment-password;\0";是connection string。 #ifdef WIN32 #include <windows.h> #endif #include <sqlext.h> #ifdef UNICODE #include <sqlucode.h> #endif #include <stdio.h> int main() { RETCODE rc; /* Return code for ODBC functions */ HENV henv = NULL; /* Environment handle */ HDBC hdbc = NULL; /* Connection handle */ unsigned char szOutConn[600]; SQLSMALLINT *cbOutConn = 0; SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER*)SQL_OV_ODBC3, 0); SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc); char connect_cmd[255] = "Driver=InterSystems IRIS ODBC35;Host=localhost;Port=1972;Database=USER;UID=SQLAdmin;PWD=deployment-password;\0"; rc = SQLDriverConnect(hdbc, NULL, (SQLCHAR*) connect_cmd, SQL_NTS, szOutConn, 600, cbOutConn, SQL_DRIVER_COMPLETE); if (rc == SQL_SUCCESS) { printf("Successfully connected!!\n"); } else { printf("Failed to connect to IRIS\n"); exit(1); } SQLDisconnect(hdbc); SQLFreeHandle(SQL_HANDLE_DBC, hdbc); /* Free connection handle */ SQLFreeHandle(SQL_HANDLE_ENV, henv); /* Free environment handle */ return 0; }
文章
Jingwei Wang · 九月 16

.Net 应用程序连接到InterSystems IRIS数据库 - 使用.net客户端组件

连接前准备: .Net 开发环境 InterSystems IRIS 客户端组件:InterSystems.Data.IRISClient.dll,这个dll文件可以再IRIS安装包中找到,在IRIS/dev/dotnet/bin/version Connection String 步骤: 在.Net 开发环境中,配置客户端组件InterSystems.Data.IRISClient.dll作为一个dependency Connection String:其中using InterSystems.Data.IRISClient 用来导入需要使用的dll文件,string connectionString = "Server = localhost; Port = 1972; Namespace = User; User ID = SQLAdmin; Password = deployment-password"是connection string。 using System; using InterSystems.Data.IRISClient; namespace ADODemo { internal class Program { static void Main(string[] args) { string connectionString = "Server = localhost; Port = 1972; Namespace = User; User ID = SQLAdmin; Password = deployment-password"; IRISADOConnection connection = new IRISADOConnection(connectionString); connection.Open(); // when finished, use the line below to close the connection // connection.Close(); } } }
公告
Claire Zheng · 九月 22

InterSystems开发者社区中文版首届技术征文大赛专家评审团亮相!

中文社区的同学们大家好! 如你所知,从2022年9月5日-10月24日(北京时间),我们正在举办🏆InterSystems开发者社区中文版首届技术征文大赛🏆(←点击链接进入参赛页面,浏览所有参赛文章)! 截至目前,我们已收获了20余篇佳作 作为此次大赛重要奖项“专家提名奖”评比的重要部分,我们的专家评审团已组建成团! 以下为我们的专家团成员: @Yunfei.Lei @Peng.Qiao @Ida.Yang @Lin.Zhu @Louis.Lu @Hao.Ma @Jingwei.Wang @Tete.Zhang @Tengzhou.Zhuang @jieliang.liu7848 @Duan.Haihua @Wenyi.Liu 我们期待专家评审团对参赛作品的公平审阅与打分。 作为社区成员,你的个人贡献也会对每一篇参赛文章产生影响,你的每一次浏览和点赞都将助力你喜欢的文章赢得“开发者社区奖”。 欢迎大家积极投稿、点赞、分享、学习! 欢迎参赛InterSystems开发者社区中文版首届技术征文大赛
公告
Claire Zheng · 九月 23

【腾讯会议邀请】InterSystems开发者社区中文版首届技术征文大赛线上见面会

亲爱的社区同学们! 2022年9月5日-10月24日,我们正在举办InterSystems开发者社区中文版首届技术征文大赛! 🏆InterSystems开发者社区中文版首届技术征文大赛🏆(←点击链接进入参赛页面,浏览所有参赛文章)! 2022年9月27日(下周二)11:00-11:30,我们将进行一次针对此次征文大赛的线上宣讲,欢迎您通过腾讯会议参加,了解关于此次征文大赛的信息,针对感兴趣的问题提问。 #腾讯会议信息 会议主题:InterSystems 社区技术征文大赛宣讲&解读会议时间:2022/09/27 11:00-11:30 (GMT+08:00) 中国标准时间 - 北京 点击链接入会,或添加至会议列表:https://meeting.tencent.com/dm/4UEzyh467wae #腾讯会议:493-643-076
文章
姚 鑫 · 九月 24

第四十二章 使用多个 IRIS 实例(二)

# 第四十二章 使用多个 IRIS 实例(二) # 控制 `IRIS` 实例 `iris` 命令支持终端以外的许多功能,并以 `iris function instname arguments` 格式调用,其中 `instname` 是在安装期间选择的实例名称,参数取决于函数。 重要提示: `iris help` 命令显示所有命令函数和参数; `IRISHelp.html` 文件位于 `install-dir\Help` 目录中。 `iris` 命令的某些功能在本文档中没有列出,但在帮助显示中显示。 ```java C:\InterSystems\IRISHealth\bin>iris help usage: iris start [] to start instance , optionally using the specified .cpf file. An optional /EmergencyId=Username,Password can be used to start InterSystems IRIS in emergency mode. When the EmergencyId argument is supplied, the system starts up in emergency mode in which only the baseline databases are mounted and access to InterSystems IRIS is governed by InterSystems IRIS login using that username and password. Emergency mode is supplied to give access in the event that privileged users are not available or their password is forgotten. Emergency startup is only available from an administrator account. When InterSystems IRIS is started in emergency mode, the IRIS control service is not used. This means that if you log out of Windows, all the InterSystems IRIS processes will immediately exit. or: iris startnostu to start instance without running ^STU. or: iris stop to shut down instance . or: iris stopnoshut to shut down instance without running user shutdown routines. or: iris stopstart to shut down and restart instance . Note: An optional /nofailover argument can be specified for stop, stopnoshut, or stopstart to not trigger a mirror failover. or: iris force to force down instance . or: iris [ run OR console OR terminal ] to run InterSystems IRIS in programmer mode with [ no-device OR console OR terminal ] for $Principal. or: iris [ run OR console OR terminal ] to run InterSystems IRIS routine in application mode with [ no-device OR console OR terminal ] for $Principal. or: iris [ run OR console OR terminal ] to run InterSystems IRIS routine in in application mode with [ no-device OR console OR terminal ] for $Principal. or: iris runw [] to run InterSystems IRIS routine in application mode with no input/output device for $Principal using the optional namespace. When run from a batch script, iris will wait for the InterSystems IRIS process to terminate before returning. The exit code from the InterSystems IRIS process will be returned by iris. Note: An optional /Title="Title string" can specify the console or terminal title bar text. or: iris iristraystart to start IRISTray for instance . or: iris iristraystop to stop IRISTray for instance . or: iris licmanagerstop to stop licmanager running in instance . or: iris all [> outputfile] to list all installed instances. or: iris allw [> outputfile] to list (wide format) all installed instances. or: iris list [] [> outputfile] to list information about all installed instances or the specified instance. or: iris qlist [] [> outputfile] to display a quick list of information about all installed instances or the specified instance, in a format suitable for parsing in command scripts. The record for an instance contains fields separated by "^" (carats): Field 1: instance name Field 2: instance directory Field 3: version identifier Field 4: current status for the instance Field 5: configuration file name last used Field 6: SuperServer port number Field 7: WebServer port number Field 8: JDBC Gateway port number Field 9: Instance status (e.g., ok, warn, alert) Field 10: Product name of the instance Field 11: Mirror Member Type (e.g., Failover, Disaster Recovery) Field 12: Mirror Status (e.g., Primary, Backup, Connected) or: iris serverlist [> outputfile] to list information about all defined servers. Note: When [> outputfile] is present, output is redirected to the file instead of being displayed on the terminal. or: iris telnetstop to stop the InterSystems IRIS TELNET daemon. or: iris telnettrace to toggle the TELNET trace state. or: iris iristrmdstop to stop the InterSystems IRIS terminal daemon. Note: iris often displays error information in a message box. You can suppress the message box containing error information by adding "quietly" (without the quotation marks) as the final argument to the iris command. or: iris help [display] to show this help. If display is specified the help is displayed in a browser window. ``` IRISHelp.html ``` IRIS.EXE USAGE: iris start [] Starts InterSystems IRIS instance , optionally using the specified .cpf file. Note: An optional /EmergencyId=Username,Password can be used to start InterSystems IRIS in emergency mode. When the EmergencyId argument is supplied, the system starts up in emergency mode in which only the baseline databases are mounted and access to InterSystems IRIS is governed by InterSystems IRIS login using that username and password. Emergency mode is supplied to give access in the event that privileged users are not available or their password is forgotten. Emergency startup is only available from an administrator account. When InterSystems IRIS is started in emergency mode, the IRIS control service is not used. This means that if you log out of Windows, all the InterSystems IRIS processes will immediately exit. iris startnostu Starts instance without running ^STU. iris stop Shuts down instance . iris stopnoshut . Shuts down instance without running user shutdown routines. iris stopstart Shuts down and restarts instance . Note: An optional /nofailover argument can be specified for stop, stopnoshut, or stopstart. Specifying this option prevents triggering a mirror failover. iris force Forces down instance . iris [ run OR console OR terminal ] Runs InterSystems IRIS in programmer mode with [ no-device OR console OR terminal ] for $Principal. iris [ run OR console OR terminal ] Runs InterSystems IRIS routine in application mode with [ no-device OR console OR terminal ] for $Principal. iris [ run OR console OR terminal ] Runs InterSystems IRIS routine in in application mode with [ no-device OR console OR terminal ] for $Principal. iris runw [] Runs InterSystems IRIS routine in application mode with no input/output device for $Principal using the optional namespace. When run from a batch script, iris will wait for the InterSystems IRIS process to terminate before returning. The exit code from the InterSystems IRIS process will be returned by iris. Note: An optional /Title=”Title string” can specify the console or terminal title bar text. Examples: Run ^%SS in a console in the i181u instance: iris console i181u ^^%SS Run ^%SS in an InterSystems IRIS terminal in the i181u instance: iris terminal i181u ^^%SS Start ^%SS running in an InterSystems IRIS terminal in the i181u instance from a batch file (extra % required): iris terminal i181u ^^%%SS Run sub^test(“hello”) in an InterSystems IRIS terminal in the USER namespace of the IRIS instance i181u: iris terminal i181u sub^^test(\"hello\") USER Note: The namespace parameter only works if the login record for the user does not specify a namespace. If the user security record specifies a namespace, then it will override the namespace parameter. iris iristraystart Starts IRISTray for instance . iris iristraystop Stops IRISTray for instance . iris licmanagerstop Stops the licmanager process running in instance . iris all [> outputfile] Lists all installed instances. The status for each instance is indicated by: "dn" - InterSystems IRIS instance is not running "st" - InterSystems IRIS instance is starting or stopping. "up" - InterSystems IRIS instance is running on this machine " " - (blank) status unavailable. Instance is probably partly up without ^STU completing. Logins are disabled. iris allw [> outputfile] Lists all installed instances in wide format. iris list [] [> outputfile] Lists brief information about all installed instances, or the specified instance. The status for each instance is indicated by: "down" - InterSystems IRIS instance is not running "starting or stopping" - InterSystems IRIS instance is starting or stopping. "running" - InterSystems IRIS instance is running on this machine "Incomplete start or stop, logins disabled" " - Instance is probably partly up without ^STU completing. Logins are disabled. iris qlist [] [> outputfile] Display a quick list of information about all installed instances, or the specified instance, in a format suitable for parsing in command scripts. The record for an instance contains fields separated by "^" (carats): Field 1: instance name Field 2: instance directory Field 3: version identifier Field 4: current status for the instance Field 5: configuration file name last used Field 6: SuperServer port number Field 7: WebServer port number Field 8: JDBC Gateway port number Field 9: Instance status (e.g., ok, warn, alert) Field 10: Product name of the instance Field 11: Mirror Member Type (e.g., Failover, Disaster Recovery) Field 12: Mirror Status (e.g., Primary, Backup, Connected) iris serverlist [> outputfile] Lists information about all defined servers. Note: When [> outputfile] is present, output is redirected to the file instead of being displayed on the terminal. iris telnetstop Stops the InterSystems IRIS TELNET daemon. iris iristrmdstop Stops the InterSystems IRIS terminal daemon. iris help [display] Writes the help text to the terminal or, if display is specified, displays the help in a browser window. Error reporting: Return value: If the control command succeeds, it returns 0. Otherwise it usually returns 1 or some other non-zero value to indicate an error. You can check the return value by inspecting the ErrorLevel environment variable. Message box: iris often displays error information in a message box. You can suppress the message box containing error information by adding “quietly” (without the quotation marks) as the final argument to the iris command. This may be useful when running an unattended .bat script. For example: iris stop xxxx quietly if not errorlevel 0 … ``` `iris` 命令的行为因平台而异,如下表所述: ## `Unix®`、`Linux` 和 `macOS` 上的 iris 命令 **注意: `iris` 命令通常会在消息框中显示错误信息。可以通过安静地添加作为 `iris` 命令的最后一个参数来抑制此消息框,该命令以非交互方式运行该命令,并带有最少的对话框。此参数对其他命令也很有用,例如当想要关闭实例而无需确认命令时。** - `iris all` 列出所有已安装实例的摘要信息,每行一个实例,如下所述。 ```java C:\InterSystems\IRISHealth\bin>iris all Instance Version ID Port Directory ------------- ---------- ---- --------- up irishealth 2022.1.0.114.0 51773 c:\intersystems\irishealth ``` 注意:如果需要完整的信息,例如用于解析或报告目的,请使用 `iris list`。 ```java C:\InterSystems\IRISHealth\bin>iris list Instance 'IRISHealth' (Custom installation) directory: 'C:\InterSystems\IRISHealth' versionid: '2022.1.0.114.0' conf file: 'c:\intersystems\irishealth\iris.cpf' (SuperServer port = 51773, WebServer port = 52773) status : 'running, since Sun Sep 4 16:16:54 2022' Product : InterSystems IRISHealth ``` - `iris allw` 为每个实例列出与 `iris all` 相同的信息,而不包含长字段值。可能会产生超过 `80` 个字符的行。 ```java C:\InterSystems\IRISHealth\bin>iris allw Instance Name Version ID Port Directory ------------------------------- ---------------------------- ----- -------------------------------- up irishealth 2022.1.0.114.0 51773 c:\intersystems\irishealth ``` - `iris console instname [arguments]` 在操作系统命令窗口而不是`Terminal` 窗口中打开 `Terminal` 。同 `iris terminal` ![image](5F79276A5C594D8099232571CD0B79AD) - `iris force instname` 强制关闭实例。 ```java C:\InterSystems\IRISHealth\bin>iris force irishealth ``` - `iris help` [参数] 显示有关 `iris` 命令的最新信息。`start`, `stop`, `force` — 显示启动、停止和强制功能的特定功能帮助。 ```java C:\InterSystems\IRISHealth\bin>iris help force C:\InterSystems\IRISHealth\bin>iris help start C:\InterSystems\IRISHealth\bin>iris help stop ``` - `iris list [arguments]` 显示有关已安装 `IRIS` 实例的信息,如下所述。 `instname` — 可以选择指定 `IRIS` 实例名称以仅显示有关该实例的信息。例如,`iris list MyIRIS` 仅显示有关 `MyIRIS` 实例的信息。 ``` C:\InterSystems\IRISHealth\bin>iris list irishealth Instance 'irishealth' (Custom installation) directory: 'C:\InterSystems\IRISHealth' versionid: '2022.1.0.114.0' conf file: 'c:\intersystems\irishealth\iris.cpf' (SuperServer port = 51773, WebServer port = 52773) status : 'running, since Sun Sep 4 16:16:54 2022' Product : InterSystems IRISHealth ``` - `iris merge instname [arguments]` 将配置合并文件应用于实例,更新其 `CPF`(请参阅使用配置合并自动配置 `IRIS`)。 `merge-file [existing-CPF]` — 可以指定要应用的合并文件的位置,可以选择后跟目标 `CPF` 的位置。例如,`iris merge MyIRIS /tmp/merge.cpf` 将合并文件 `/tmp/merge.cpf` 应用于名为 `MyIRIS` 的实例。如果不带参数调用,则使用以下默认值: - 对于合并文件,默认值是 `ISC_CPF_MERGE_FILE` 环境变量的值。 - 对于现有的 `CPF`,默认是位于以下位置的 `iris.cpf` 文件: - 对于已安装的实例,安装目录。 - 对于容器,由 `ISC_DATA_DIRECTORY` 环境变量指定的目录;如果未使用持久 `%SYS` 和 `ISC_DATA_DIRECTORY`,则使用 `ISC_PACKAGE_INSTALLDIR` 环境变量指定的目录。 - `iris qall` 为每个实例列出与 `iris all` 相同的信息,除了长行被截断为 `78` 个字符外加一个终止波浪号 (`~`)。 ```java C:\InterSystems\IRISHealth\bin>iris qall ``` - `iris qlist` [参数] 与 `iris list` 类似,但有附加信息。每个实例的输出(如下所述)在一行中给出,字段由插入符号 (`^`) 分隔。 `instname` — 可以选择指定 `IRIS` 实例名称以仅显示有关该实例的信息。例如,`iris qlist MyIRIS` 仅显示有关 `MyIRIS` 实例的信息。 ```java C:\InterSystems\IRISHealth\bin>iris qlist irishealth irishealth^C:\InterSystems\IRISHealth^2022.1.0.114.0^running, since Sun Sep 4 16:16:54 2022^c:\intersystems\irishealth\iris.cpf^51773^52773^^^IRISHealth^^ ``` - `iris rename instname newname` 重命名实例。 - `iris restart instname [参数]` 重启实例;相当于 `iris stop instname restart` `nofailover` — 指定此可选参数以防止触发镜像故障转移。 - `iris start instname [参数]` 启动实例。 注意:系统可能会提示以“紧急模式”启动;如果是这样,请参阅紧急访问了解更多信息。 完整的`CPF` 路径 — 默认情况下, `IRIS` 从位于 `/mgr` 目录中的 `iris.cpf` 文件中读取某些设置。可以提供另一个 `.cpf` 文件的完整路径以供使用。 `nostu` — 启动指定的实例而不运行 `^STU`。 - `iris stat instname` 检索与 `irisstat` 实用程序相同的系统统计信息。 - `iris stop instname [参数]` 关闭实例。 `restart` — 关闭实例后启动实例。 `nofailover` — 指定此可选参数以防止触发镜像故障转移。 - `iris stopnoshut instname [参数]` 使用 `INTNOSHUT^SHUTDOWN` 关闭命名实例。 注意:只有实例所有者和 `irisusr` 可以在不登录终端的情况下运行 `INTNOSHUT^SHUTDOWN`。 `nofailover` — 指定此可选参数以防止触发镜像故障转移。 - `iris terminal instname [参数]` 打开实例的 `Terminal` 。 `B` — 允许系统管理员紧急登录终端。 `-b partition_size` — 指定进程的最大分区大小(以 `KB` 为单位)。 `"[label[+offset]]^routine"` — 指定要在用户模式下运行的 `ObjectScript` 程序的名称。除了指定的格式之外,还可以传递由字符串和/或数字文字组成的参数列表,以及省略的 (void) 参数,如下所示: - `"routine[([parameter-list])]"` - `"[label]^routine[([parameter-list])]"` - `"##CLASS(package.class).method[([parameter-list])]"` 其中,例如,参数列表以“字符串文字”的形式指定,`-+-000123.45600E+07`,省略的参数作为 `$Data(parameter)=0` 传递给目标。 **注意:空格和 `shell` 元字符必须以依赖于操作系统的形式引用。** `U` 命名空间 — 指定终端登录命名空间。 **注意:如果使用指定了启动命名空间的用户帐户启动 `IRIS`,则 `-U` 参数无效(请参阅用户帐户属性)。**
文章
Jingwei Wang · 九月 6

Embedded Python - 安装及初步使用

在Windows中,InterSystems IRIS 会将Python引擎一起安装在安装目录中,可以将Python的代码在InterSystems IRIS内核中运行,允许Python代码与ObjectScript代码混合运行,以获得最佳开发性能。一般基于UNIX的操作系统会自带一个Python,所以不会随InterSystems IRIS安装包自动安装Python引擎。 在InterSystems IRIS 2021.2 以上的版本中才支持Embedded Python,其余版本不支持使用Embedded Python 步骤 - Windows 在Microsoft Windows 上安装InterSystems IRIS 2022.2版本 Python 引擎同InterSystems IRIS 安装包安装在C:\InterSystems\IRISHealth\lib\python 文件夹下(如果使用默认安装路径)。 在C:\InterSystems\IRISHealth\lib\python 文件夹下,查看Python的版本,版本应为Python 3.9.5 C:\InterSystems\IRISHealth\lib\python>python --version 使用pip下载pandas库,其中InterSystems\IRIS\mgr\python路径根据安装路径进行更改。(其他python库,也按照此方法下载) C:\InterSystems\IRISHealth\bin>irispip install --target C:\InterSystems\IRIS\mgr\python pandas 将Data.Titanic数据导入InterSystems IRIS,或者创建一个其它的表,然后插入任何数据。 使用InterSystems IRIS Studio创建一个Sample.EmbeddedPython类,其中Data.Titanic 可以改为任意你自己创建好的表。[ Language = python ]表示此方法为一个Python方法,里面使用的是Python开发语言。 /// Embedded Python examples from summer 2022 Class Sample.EmbeddedPython Extends %RegisteredObject { ​ ClassMethod dfexample() As %Status { set st = ..CreateDataFrame("Name, Super, TimeCreated") } ​ // Execute a SQL query from Python and import it into a pandas dataframe ​ ClassMethod CreateDataFrame(myfields As %String) As %Numeric [ Language = python ] { import iris import pandas as pd #; works with all IRIS installs #; rs = iris.sql.exec("SELECT " + myfields + " FROM %Dictionary.ClassDefinition WHERE Name %STARTSWITH '%Net.'") #; works with Titanic sample data rs = iris.sql.exec("SELECT * FROM Data.Titanic") df = rs.dataframe() print(df.describe()) return True } } 在InterSystems IRIS Terminal执行,即可通过Python查看Data.Titanic 表中所有的数据。 do ##class(Sample.EmbeddedPython).dfexample() 步骤 - UNIX 在UNIX操作系统上安装InterSystems IRIS 2022.2版本 一般基于UNIX的操作系统会自带一个Python, 也可以按照下列方式重新安装Python。 macOS: Install Python 3.9 using Homebrew (https://formulae.brew.sh/formula/python@3.9Opens in a new tab) ​ Ubuntu: apt-get install python3 ​ Red Hat Enterprise Linux or Oracle Linux: yum install python3 ​ SUSE: zypper install python3 使用pip下载pandas库,其中InterSystems\IRIS\mgr\python路径根据安装路径进行更改。(其他python库,也按照此方法下载) $ pip3 install --target /InterSystems/IRIS/mgr/python numpy 将Data.Titanic数据导入InterSystems IRIS,或者创建一个其它的表,然后插入任何数据。 使用InterSystems IRIS Studio创建一个Sample.EmbeddedPython类,其中Data.Titanic 可以改为任意你自己创建好的表。[ Language = python ]表示此方法为一个Python方法,里面使用的是Python开发语言。 /// Embedded Python examples from summer 2022 Class Sample.EmbeddedPython Extends %RegisteredObject { ​ ClassMethod dfexample() As %Status { set st = ..CreateDataFrame("Name, Super, TimeCreated") } ​ // Execute a SQL query from Python and import it into a pandas dataframe ​ ClassMethod CreateDataFrame(myfields As %String) As %Numeric [ Language = python ] { import iris import pandas as pd #; works with all IRIS installs #; rs = iris.sql.exec("SELECT " + myfields + " FROM %Dictionary.ClassDefinition WHERE Name %STARTSWITH '%Net.'") #; works with Titanic sample data rs = iris.sql.exec("SELECT * FROM Data.Titanic") df = rs.dataframe() print(df.describe()) return True } } 在InterSystems IRIS Terminal执行,即可通过Python查看Data.Titanic 表中所有的数据。 do ##class(Sample.EmbeddedPython).dfexample() 注意事项 如果你得到一个 "Failed to load python " 或者python3 distinct from irispython not found: No such file or directory的错误,这意味着你要么没有安装Python,要么在你的系统上安装了一个其他的Python版本。请通过上述方式,安装Python。 为了防止运行嵌入式Python时出现IRIS_ACCESSDENIED错误,请启用%Service_Callin。在管理门户中,进入系统管理 > 安全 > 服务,选择 %Service_CallIn,并选中已启用的服务框。 在基于 UNIX 的系统上,你需要用 pip3 命令来安装 Python 包。如果你还没有安装 pip3,用你系统的软件包管理器安装 python3-pip 包。
文章
姚 鑫 · 九月 25

第四十三章 使用多个 IRIS 实例(三)

# 第四十三章 使用多个 IRIS 实例(三) # `Windows` 上的 `iris` 命令 在 `Windows` 上,必须从 `install-dir\bin` 目录运行 `iris` 命令(或在命令中包含完整路径)。 - `iris all` 列出所有已安装实例的摘要信息,每行一个实例,如下所述。 注意:如果需要完整的信息,例如用于解析或报告目的,请使用 `iris list`。 ```java C:\InterSystems\IRISHealth\bin>iris all Instance Version ID Port Directory ------------- ---------- ---- --------- up irishealth 2022.1.0.114.0 51773 c:\intersystems\irishealth ``` - `iris allw` 为每个实例列出与 `iris all` 相同的信息,而不包含长字段值。可能会产生超过 `80` 个字符的行。 ```java C:\InterSystems\IRISHealth\bin>iris allw Instance Name Version ID Port Directory ------------------------------- ---------------------------- ----- -------------------------------- up irishealth 2022.1.0.114.0 51773 c:\intersystems\irishealth ``` - `iris console instname [arguments]` 在操作系统命令窗口而不是终端窗口中打开 `Terminal` 。 ![image](25F7E075095D47C4A19C24D2764F52E1) - `iris force instname` 强制关闭实例。 - `iris help` 显示有关 `iris` 命令的最新信息。 ```java C:\InterSystems\IRISHealth\bin>iris help usage: iris start [] to start instance , optionally using the specified .cpf file. An optional /EmergencyId=Username,Password can be used to start InterSystems IRIS in emergency mode. When the EmergencyId argument is supplied, the system starts up in emergency mode in which only the baseline databases are mounted and access to InterSystems IRIS is governed by InterSystems IRIS login using that username and password. Emergency mode is supplied to give access in the event that privileged users are not available or their password is forgotten. Emergency startup is only available from an administrator account. When InterSystems IRIS is started in emergency mode, the IRIS control service is not used. This means that if you log out of Windows, all the InterSystems IRIS processes will immediately exit. or: iris startnostu to start instance without running ^STU. or: iris stop to shut down instance . or: iris stopnoshut to shut down instance without running user shutdown routines. or: iris stopstart to shut down and restart instance . Note: An optional /nofailover argument can be specified for stop, stopnoshut, or stopstart to not trigger a mirror failover. or: iris force to force down instance . or: iris [ run OR console OR terminal ] to run InterSystems IRIS in programmer mode with [ no-device OR console OR terminal ] for $Principal. or: iris [ run OR console OR terminal ] to run InterSystems IRIS routine in application mode with [ no-device OR console OR terminal ] for $Principal. or: iris [ run OR console OR terminal ] to run InterSystems IRIS routine in in application mode with [ no-device OR console OR terminal ] for $Principal. or: iris runw [] to run InterSystems IRIS routine in application mode with no input/output device for $Principal using the optional namespace. When run from a batch script, iris will wait for the InterSystems IRIS process to terminate before returning. The exit code from the InterSystems IRIS process will be returned by iris. Note: An optional /Title="Title string" can specify the console or terminal title bar text. or: iris iristraystart to start IRISTray for instance . or: iris iristraystop to stop IRISTray for instance . or: iris licmanagerstop to stop licmanager running in instance . or: iris all [> outputfile] to list all installed instances. or: iris allw [> outputfile] to list (wide format) all installed instances. or: iris list [] [> outputfile] to list information about all installed instances or the specified instance. or: iris qlist [] [> outputfile] to display a quick list of information about all installed instances or the specified instance, in a format suitable for parsing in command scripts. The record for an instance contains fields separated by "^" (carats): Field 1: instance name Field 2: instance directory Field 3: version identifier Field 4: current status for the instance Field 5: configuration file name last used Field 6: SuperServer port number Field 7: WebServer port number Field 8: JDBC Gateway port number Field 9: Instance status (e.g., ok, warn, alert) Field 10: Product name of the instance Field 11: Mirror Member Type (e.g., Failover, Disaster Recovery) Field 12: Mirror Status (e.g., Primary, Backup, Connected) or: iris serverlist [> outputfile] to list information about all defined servers. Note: When [> outputfile] is present, output is redirected to the file instead of being displayed on the terminal. or: iris telnetstop to stop the InterSystems IRIS TELNET daemon. or: iris telnettrace to toggle the TELNET trace state. or: iris iristrmdstop to stop the InterSystems IRIS terminal daemon. Note: iris often displays error information in a message box. You can suppress the message box containing error information by adding "quietly" (without the quotation marks) as the final argument to the iris command. or: iris help [display] to show this help. If display is specified the help is displayed in a browser window. ``` - `iris list [arguments]` 显示有关已安装 `IRIS` 实例的信息,如下所述。 ```java C:\InterSystems\IRISHealth\bin>iris list irishealth Instance 'irishealth' (Custom installation) directory: 'C:\InterSystems\IRISHealth' versionid: '2022.1.0.114.0' conf file: 'c:\intersystems\irishealth\iris.cpf' (SuperServer port = 51773, WebServer port = 52773) status : 'running, since Mon Sep 12 08:08:58 2022' Product : InterSystems IRISHealth ``` `instname` — 可以选择指定 `IRIS` 实例名称以仅显示有关该实例的信息。例如,`iris list MyIRIS` 仅显示有关 `MyIRIS` 实例的信息。 - `iris qlist [参数]` 与 `iris list` 类似,但有附加信息。每个实例的输出(如下所述)在一行中给出,字段由插入符号 (`^`) 分隔。 `instname` — 可以选择指定 `IRIS` 实例名称以仅显示有关该实例的信息。例如,`iris qlist MyIRIS` 仅显示有关 `MyIRIS` 实例的信息。 ```java C:\InterSystems\IRISHealth\bin>iris qlist irishealth irishealth^C:\InterSystems\IRISHealth^2022.1.0.114.0^running, since Mon Sep 12 08:08:58 2022^c:\intersystems\irishealth\iris.cpf^51773^52773^^^IRISHealth^^ ``` - `iris run instname [arguments]` 在没有 `$Principal` 的输入/输出设备的程序员模式下运行 IRIS。 - `iris runw instname 例程 [参数]` 在应用程序模式下运行命名的 `IRIS` 例程,没有 `$Principal` 的输入/输出设备。从批处理脚本运行时,该命令会等待 `IRIS` 进程终止,然后再从进程返回退出代码。 `namespace` — 在指定的命名空间中运行例程。 注意:如果使用指定了启动命名空间的用户帐户启动 `IRIS`,则命名空间参数无效(请参阅用户帐户属性)。 - `iris start instname [参数]` 启动实例。 注意:系统可能会提示以“紧急模式”启动。 完整的 `CPF` 路径 — 默认情况下, `IRIS` 从位于 `<install-dir>/mgr` 目录中的 `iris.cpf` 文件中读取某些设置。可以提供另一个 `.cpf` 文件的完整路径以供使用。 - `iris startnostu instname` 启动指定的实例而不运行`^STU`。 - `iris stop instname [参数]` 关闭实例。 `/nofailover` — 指定此可选参数以防止触发镜像故障转移。 - `iris stopnoshut instname [参数]` 使用 `INTNOSHUT^SHUTDOWN` 关闭命名实例。 **注意:只有实例所有者和 `irisusr` 可以在不登录终端的情况下运行 `INTNOSHUT^SHUTDOWN`。** `/nofailover` — 指定此可选参数以防止触发镜像故障转移。 - `iris stopstart instname [参数]` 关闭实例后启动它。 `/nofailover` — 指定此可选参数以防止触发镜像故障转移。 - `iris terminal instname [参数]` 打开实例的 `Terminal` 。 `routine` — 在终端中以应用程序模式为 `$Principal` 运行命名的 `IRIS` 例程。 `"[label[+offset]]^routine"` — 指定要在用户模式下运行的 `ObjectScript` 程序的名称。除了指定的格式之外,还可以传递由字符串和`/`或数字文字组成的参数列表,以及省略的 (`void`) 参数,如下所示: - `"routine[([parameter-list])]"` - `"[label]^routine[([parameter-list])]"` - `"##CLASS(package.class).method[([parameter-list])]"` 其中,例如,参数列表以“`string literal`”的形式指定,`-+-000123.45600E+07`,省略的参数作为 `$Data(parameter)=0` 传递给目标。 注意:空格和 `shell` 元字符必须以依赖于操作系统的形式引用。 命名空间 — 与例程一起使用,在指定的命名空间中运行例程。 注意:如果您用指定了启动命名空间的用户帐户启动 `IRIS`,则命名空间无效(请参阅用户帐户属性)。 ## iris list, qlist, and all #### `iris all` 列出有关一个或多个 `IRIS` 实例的以下信息: - 实例状态,如下 - ``(状态不可用,登录已禁用) - `dn`(关闭或已崩溃) - `up` (running) - `st` (starting or stopping) - 实例名称 - `IRIS` 版本 - 超级服务器端口号 - 安装目录 #### `iris list` 列出有关一个或多个 `IRIS` 实例的以下信息: - 实例名称(和安装类型) - 安装目录 - `IRIS` 版本 - `IRIS` 参数 (`.cpf`) 文件的路径名 - 超级服务器和网络服务器端口号 - 实例状态,如下 - `running` - `down` - `starting or stopping` - 不完整的启动或停止,登录被禁用 - 实例的系统健康状态,如果正在运行(不包括在 `Windows` 中) - 镜像成员类型和状态(如果是镜像成员) #### iris qlist 为一个或多个 `IRIS` 实例在单行上输出以下信息,以插入符号 (`^`) 分隔: 1. 实例名称(和安装类型) 2. 安装目录 3. `IRIS`版本 4. 实例状态 5. 当前配置参数文件的路径名,相对于安装目录。 `Windows` 系统改为显示完整路径。 6. 超级服务器端口号 7. 网络服务器端口号 8. `JDBC` 网关端口号 9. 实例的系统健康状态,如果正在运行(在 `Windows` 上总是空白) 10. 产品名称 11. 镜像成员类型(如果是镜像成员) 12. 镜像状态(如果是镜像成员) 13. 数据目录(如果适用)