搜索​​​​

清除过滤器
文章
Frank Ma · 三月 2, 2022

Windows上内嵌式Python调用tcl tkinter时的一个报错及处理方法

如果你的嵌入式Python代码调用了 tkinter library库(它被很多图形制作库使用,包括matplotlib),你可能会得到这个错误: <THROW> *%Exception.PythonException <CLASS DOES NOT EXIST> 230 ^^0^DO ##CLASS(User.Test).Test() <class '_tkinter.TclError'>: Can't find a usable init.tcl in the following directories: c:/intersystems/irispy/lib/python/lib/tcl8.6 c:/intersystems/irispy/lib/tcl8.6 c:/intersystems/lib/tcl8.6 c:/intersystems/irispy/library c:/intersystems/library c:/intersystems/tcl8.6.9/library c:/tcl8.6.9/library This probably means that Tcl wasn't installed properly. 下面是一个触发这个错误的代码样本: Class User.Test { /// do ##class(User.Test).Test() ClassMethod Test() [ Language = python ] { import matplotlib.pyplot as plt import numpy as np # Data for plotting t = np.arange(0.0, 2.0, 0.01) s = 1 + np.sin(2 * np.pi * t) fig, ax = plt.subplots() ax.plot(t, s) ax.set(xlabel='time (s)', ylabel='voltage (mV)') ax.grid() fig.savefig("test.png") } } 在这种情况下,你不需要安装tcl和tk库。其中一个方法是从源代码开始构建。In that case you need no install tcl and tk libraries. One of the approaches is 从源代码来构建。 对于windows系统,你可以在这里获得预构建的二进制文件。例如,根据我的错误,我需要8.6.12.5版本。下载它并从lib文件夹中复制tcl8.6和tk8.6到 c:/intersystems/irispy/lib/python/lib/ 或你的错误信息中的任何其他路径。 之后,你可能会得到另一个错误: Can't find a usable init.tcl in the following directories: c:/intersystems/irispy/lib/python/lib/tcl8.6 c:/intersystems/irispy/lib/tcl8.6 c:/intersystems/lib/tcl8.6 c:/intersystems/irispy/library c:/intersystems/library c:/intersystems/tcl8.6.9/library c:/tcl8.6.9/library c:/intersystems/irispy/lib/python/lib/tcl8.6/init.tcl: version conflict for package "Tcl": have 8.6.9, need exactly 8.6.12 version conflict for package "Tcl": have 8.6.9, need exactly 8.6.12 while executing "package require -exact Tcl 8.6.12" (file "c:/intersystems/irispy/lib/python/lib/tcl8.6/init.tcl" line 19) invoked from within "source c:/intersystems/irispy/lib/python/lib/tcl8.6/init.tcl" ("uplevel" body line 1) invoked from within "uplevel #0 [list source $tclfile]" This probably means that Tcl wasn't installed properly. 这意味着二进制文件与预期的版本不同,但这是一个微小的差异,可以通过打开 init.tcl 并把 package require -exact Tcl 8.6.12 替换成 package require -exact Tcl 8.6.9 同样的,在 tk.tcl把 package require -exact Tk 8.6.12 替换成 package require -exact Tk 8.6.9 之后,tkinter 就应该正常工作了。
问题
liu yangyang · 三月 29, 2022

指定的数据库用户/密码组合被拒: [08S01][461] [InterSystems IRIS JDBC] Communication link failure: Access Denied [08S01][461] Access Denied

主要问题: 默认安装后,有没有默认用户名,密码?远程jdbc连接报错,麻烦解答一下,谢谢 [InterSystems IRIS JDBC] Communication link failure: Access Denied [08S01][461] Access Denied 创建用户: addgroup iris useradd -g iris -d "/home/iris" -m -s "/bin/bash" iris passwd iris 安装过程: root@baec-ThinkPad-E480:/data/IRIS_Community-2021.2.0.651.0-lnxubuntu1804x64# ./irisinstall Your system type is 'Ubuntu LTS (x64)'. Enter instance name : IRIS Enter a destination directory for the new instance. Directory: /data Select installation type. 1) Development - Install InterSystems IRIS server and all language bindings 2) Server only - Install InterSystems IRIS server 3) Custom Setup type ? How restrictive do you want the initial Security settings to be? "Minimal" is the least restrictive, "Locked Down" is the most secure. 1) Minimal 2) Normal 3) Locked Down Initial Security settings ? What group should be allowed to start and stop this instance? iris Do you want to install IRIS Unicode support ? InterSystems IRIS did not detect a license key file Do you want to enter a license key ? no Please review the installation options: ------------------------------------------------------------------ Instance name: IRIS Destination directory: /data InterSystems IRIS version to install: 2021.2.0.651.0com Installation type: Development Unicode support: Y Initial Security settings: Minimal User who owns instance: root Group allowed to start and stop instance: iris Effective group for InterSystems IRIS processes: irisusr Effective user for InterSystems IRIS SuperServer: irisusr SuperServer port: 1972 WebServer port: 52773 JDBC Gateway port: 53773 Web Gateway: using built-in web server Not installing IntegratedML ------------------------------------------------------------------ Confirm InterSystems IRIS installation ? Starting installation Starting up InterSystems IRIS for loading... ../bin/irisinstall -s . -B -c c -C /data/iris.cpf*IRIS -W 1 -g2 Starting Control Process Allocated 254MB shared memory: 32MB global buffers, 80MB routine buffers Creating a WIJ file to hold 32 megabytes of data IRIS startup successful. System locale setting is 'zh_CN.UTF-8' This copy of InterSystems IRIS has been licensed for use exclusively by: InterSystems IRIS Community Copyright (c) 1986-2022 by InterSystems Corporation Any other use is a violation of your license agreement ^^/data/mgr/> ^^/data/mgr/> Start of IRIS initialization Loading system routines Updating system TEMP and LOCALDATA databases Installing National Language support Setting IRISTEMP default collation to IRIS standard (5) Loading system classes Updating Security database Loading system source code Building system indices Updating Audit database Updating Journal directory Updating User database Updating Interoperability databases Scheduling inventory scan IRIS initialization complete See the iboot.log file for a record of the installation. Starting up InterSystems IRIS... Once this completes, users may access InterSystems IRIS Starting IRIS Using 'iris.cpf' configuration file Starting Control Process Global buffer setting requires attention. Auto-selected 25% of total memory. Allocated 2420MB shared memory: 1965MB global buffers, 196MB routine buffers Creating a WIJ file to hold 99 megabytes of data This copy of InterSystems IRIS has been licensed for use exclusively by: InterSystems IRIS Community Copyright (c) 1986-2022 by InterSystems Corporation Any other use is a violation of your license agreement You can point your browser to http://baec-ThinkPad-E480:52773/csp/sys/UtilHome.csp to access the management portal. Installation completed successfully 启动实例: root@baec-ThinkPad-E480:/data# iris start iris IRIS is already up! 查看信息: root@baec-ThinkPad-E480:/data# iris list Configuration 'IRIS' (default) directory: /data versionid: 2021.2.0.651.0com datadir: /data conf file: iris.cpf (SuperServer port = 1972, WebServer = 52773) status: running, since Tue Mar 29 17:00:13 2022 state: ok product: InterSystems IRIS 连接信息: ip:x.x.x.x 端口:1972 指定数据库:user 用户:_SYSTEM 密码:system 连接报错信息: 指定的数据库用户/密码组合被拒: [08S01][461] [InterSystems IRIS JDBC] Communication link failure: Access Denied [08S01][461] Access Denied 请参考文档:Emergency Access 使用此方法重置密码。
问题
li wang · 七月 13, 2021

如何实现用Cache访问共享文件夹里的文件

大家好,我想请教一个问题,如何在Health Connect实现访问共享文件夹的文件 (对文件进行读取或者写入操作,非本地文件) Hello Li, Your post was cross-posted to the US developer community. Here's my first impression (copied from the other forum): If this is on Windows I suspect this is an issue with using the default SYSTEM account. See the following doc: Installing InterSystems IRIS on Microsoft Windows > Windows User Accounts "When installing InterSystems IRIS, you must choose the Windows user account to run the InterSystems service. There are two options: The default SYSTEM account (Windows Local System account). This is used in Minimal security installations. A defined Windows user account. Running the Windows InterSystems service under the default SYSTEM account is appropriate for many installations, but in some cases can cause issues relating to file permissions and network security access. If you anticipate potential problems in these areas for an InterSystems IRIS instance, for example due to your network configuration or security arrangements, specify an account for the Windows InterSystems service that has the needed privileges and/or access, such as a domain administrator account. For instructions on how to change the service account after installation, see the Managing Windows User Access to the InterSystems IRIS Instance section." Changing the InterSystems Service Account <install-dir>\bin\IRISinstall.exe setserviceusername <instance-name> <username> <password> 请参考以下文档:Installing InterSystems IRIS on Microsoft Windows > Windows User Accounts "在安装InterSystems IRIS时,你必须选择Windows用户帐户来运行InterSystems服务。有两个选择。默认的SYSTEM帐户(Windows本地系统帐户)。这是在最小的安全安装中使用的。一个已定义的Windows用户帐户。在默认的SYSTEM帐户下运行Windows InterSystems服务对许多安装来说是合适的,但在某些情况下会导致与文件权限和网络安全访问有关的问题。如果你预计InterSystems IRIS实例在这些方面有潜在的问题,例如由于你的网络配置或安全安排,为Windows InterSystems服务指定一个具有所需权限和/或访问权的帐户,如一个域管理员帐户。关于如何在安装后改变服务帐户的说明,请参见 "管理Windows用户对InterSystems IRIS实例的访问 "部分。 Changing the InterSystems Service Account <install-dir>\bin\IRISinstall.exe setserviceusername <instance-name> <username> <password> 感谢您的答复,不过我想实现的是在HealthConnect的代码中访问共享文件夹里的文件,这块您这边有相关的实例吗 @Vic Sun do you hv any sample codes with HC? Thx! Li, I'm not sure exactly what you want to do, but I'd start by reviewing the %Library.File class reference, and this %Library.File documentation "Using %Library.File". You may find the stream documentation useful as well. 您的答复非常有用,我这边已经处理好该问题了,非常感谢
文章
Michael Lei · 八月 31, 2021

InterSystems被独立研究机构Forrester评为多模型数据平台领导者

InterSystemsIRIS® 数据平台在性能、分析/搜索和事务等标准中获得最高分 转载自Forester 报告: InterSystems是一个高性能的数据平台,具有强大的支持和可靠性。InterSystems的IRIS数据平台支持关系型、对象型、文档型、键值型、立方体和多维数组,但它没有原生的图形功能。该平台不需要整合多种技术栈,从而减少了代码、系统资源和维护。客户用它来支持客户分析、物联网、支持AI/ML的应用程序、风险分析和垂直特定的用例,如医疗保健应用程序和洞察力。InterSystems的愿景侧重于一个统一的平台,以支持各种应用和洞察力。该解决方案在性能、分析、搜索和交易方面得分很高。参考客户对InterSystems很满意;一个客户说:"他们的客户支持总是超级好。"另一个客户说他们 "在一个关键任务的应用中使用了10多年,对性能和功能以及可靠性总体上很满意。" Forester 报告原文下载:https://reprints2.forrester.com/#/assets/2/1735/RES161621/report
公告
Claire Zheng · 三月 10, 2021

诚邀您参加 InterSystems编程大奖赛获奖成员线上见面会!

亲爱的社区开发者, 我们诚挚邀请您参加 InterSystems编程大奖赛获奖成员线上见面会! 时间: 周五(2021年3月12日)-22:00(北京时间) 在此次线上见面会,您可以: 了解获胜者的个人履历 观看获奖应用的简短demo 针对此次大奖赛使用到的技术、奖金和各类疑问,您可以畅所欲言,各抒己见,为下一次竞赛做准备! 线上见面会参与成员: @Dmitriy Maslennikov, CaretDev Corp联合创始人、首席技术官和开发者倡导者, @José Roberto Pereira, Shift Consultoria e Sistemas Ltda BI开发者 @Henrique Dias, Sao Paulo Federal Court 系统管理专家/数据库管理员 @Botai Zhang, 中国开发者 @Weiwei Yang, 中国开发者 @Evgeny Shvarov, InterSystems 开发者生态系统经理 您还将有机会在一个特别的网络研讨会上向我们的开发人员提出任何问题。 欢迎您参加线上见面会! 现在就来报名吧! 什么时候搞中国自己的? Good question! 想围观中国获奖成员线上见面会的给Michael点赞
文章
Michael Lei · 十月 10, 2022

如何在 CI/CD 里管理InterSystems API Manager (IAM)/ Kong API GATEWAY 配置?

Kong提供了一个开源的配置管理工具(用Go语言编写),称为decK(即声明式Kong,declarative Kong)。 通过deck ping检查deck是否能识别你的Kong Gateway安装 deck ping Successfully connected to Kong! Kong version: 2.3.3.2-enterprise-edition 通过deck dump把 Kong Gateway 配置导出到一个叫 "kong.yaml" 的文件 deck dump 修改kong.yaml文件后, 通过 deck diff 显示区别 deck diff updating service alerts { "connect_timeout": 60000, - "host": "172.24.156.176", + "host": "192.10.10.18", "id": "3bdd7db4-0b75-4148-93b3-2ff11e961f64", "name": "alerts", "path": "/alerts", "port": 50200, "protocol": "http", "read_timeout": 60000, "retries": 5, "write_timeout": 60000 } Summary: Created: 0 Updated: 1 Deleted: 0 通过 deck sync 应用变化 deck sync updating service alerts { "connect_timeout": 60000, - "host": "172.24.156.176", + "host": "192.10.10.18", "id": "3bdd7db4-0b75-4148-93b3-2ff11e961f64", "name": "alerts", "path": "/alerts", "port": 50200, "protocol": "http", "read_timeout": 60000, "retries": 5, "write_timeout": 60000 } Summary: Created: 0 Updated: 1 Deleted: 0 deck sync -s workspace1.yaml --workspace workspace1 deck sync -s workspace2.yaml --workspace workspace2 需要更多信息 : https://docs.konghq.com/deck/1.11.x/guides/getting-started/ https://docs.konghq.com/deck/1.11.x/guides/best-practices/
文章
Louis Lu · 四月 9, 2022

基于Redhat Linux安装InterSystems IRIS 的服务器内存相关参数配置建议

注意:下面内存设置数值仅限参考,具体内存数值的设置是否合适,依赖于更多实际使用情况决定。 主要需要设置下面几个内存相关配置: (下面比例适用于服务器仅运行单实例InterSystems IRIS)数据库缓存Database cache: 建议小于64G内存设置总内存50%,大于等于64G内存设置70%总内存程序缓存routine cache: 建议设置1023MBgmheap: 建议设置1048576KB(1024MB)LockSize: 建议最少设置134217728 Bytes (128MB),如果在系统日志中提示locksize相关错误或警报,应相应增加。 如果在一台服务器上安装了多个InterSystems IRIS 实例,那么要保证 所有InterSystems IRIS 运行实例的 Shared memory(database cache + routine cache + gmheap) 总值小于 Hugepage设定的值 hugePages : 建议设置值大于系统所有InterSystems IRIS 运行实例的 Shared memory(database cache + routine cache + gmheap) 总值再往上取整+1G。之后监控cache efficiency 调整设置大小。 要注意对于繁忙的系统,需要为除IRIS之外系统预留足够内存。比如主要负责系统集成、使用JavaGateway等会使用多个外部进程,需要为其预留足够内存。 比如要设置Huge pages 大小为12G。 如果Hugepagessize为2048KB,那么设置HugePage_Total=12*1024*1024/2048=6144 echo "vm.nr_hugepages=6144" >> /etc/sysctl.conf 禁用Transparent HugePages (THP) 检查状态 # cat /sys/kernel/mm/redhat_transparent_hugepage/enabled 或者 # cat /sys/kernel/mm/transparent_hugepage/enabled 设置禁用THP 1. 在/etc/grub.conf文件中添加 transparent_hugepage = never 2. 重启服务器 Kernel shared Memory Limit: 检查该值设置要大于hugePages的值,在/etc/sysctl.conf 文件中查找kernel.shmmax 的内容 swappiness 建议系统内存小于64G该值设置为5,系统内存大于64G设置为1 echo "vm.swappiness=5" >> /etc/sysctl.conf Dirty Page Cleanup echo "vm.dirty_background_ratio=5" >> /etc/sysctl.conf echo "vm.dirty_ratio=10" >> /etc/sysctl.conf
文章
he hf · 十月 8, 2022

10分钟快速开发一个连接到InterSystems IRIS数据库的C#应用

安装InterSystems IRIS数据库的ODBC驱动,在Windows系统中配置数据源后,可以使用Microsoft Visual Studio 开发工具 中的服务器资源管理器很方便地连接到InterSystems IRIS数据库服务器,利用数据库连接的可视化视图,可以非常方便快捷地进行连接到InterSystems IRIS数据库的应用开发。本文将展示一个利用以上方式实现的例子,开发工具为Microsoft Visual Studio 2019,开发语言为C#,10分钟快速开发实现一个连接到InterSystems IRIS数据库的C#应用,在本例子中,可以通过选择日期和科室,查询指定日期和科室的就诊日志。 1、在成功安装InterSystems IRIS数据库的ODBC驱动后,从Windows的“控制面板”中选择“管理工具”,在“管理工具”中选择“ODBC数据源”。 2、在ODBC数据源管理的“用户DSN”标签下,选择“添加”,在随后弹出的“创建新数据源”窗口中选择“InterSystems ODBC”,点击“完成”进入下一步。 3、在弹出的“InterSystems ODBC数据源设置”窗口中,为数据源命名,填写连接数据库的信息,访问用户名和密码,点击“测试连接”,成功后点击“OK”保存。 4、打开Microsoft Visual Studio 2019,选择“文件”->“新建”->“项目” ,在弹出的创建新项目窗口中,选择C#语言、Windows窗体应用。 5、新建项目完成后,在 Microsoft Visual Studio 2019开发工具的菜单栏选择“视图”->“服务器资源管理器”,右键“服务器资源管理器”视图中的“数据连接”,在弹出的“添加数据库连接”窗口中,指定在3中已经新建好的数据源,点击“测试连接”,测试连接成功后,点击“确定”关闭窗口,在“服务器资源管理器”视图中的“数据连接”中可以看到添加成功的数据库连接,选中数据库后可以展开其中的表。 6、在本例子中,将介绍两种数据库查询操作方式,其一为常见使用SQL语句的方式,其二为添加数据集的方式,添加数据集的操作如下:从菜单栏选择“视图”->“其他窗口”->“数据源”,在“数据源”视图中点击“添加新数据源”,选择数据库后,可以为数据集添加绑定数据库的表,如为本例中Loc1(科室)数据集成功添加绑定CT_Loc表后,可以在可视化视图中查看数据表数据,并可以被Form可视化窗体中添加的控件直接使用。 7、在Form可视化窗体设计器中,通过工具箱视图添加3个Label控件,分别显示应用标题、日期和科室,再添加1个DateTimePicker日期/时间选择器,并在其CustomFormat属性中设置日期/时间格式“yyyy-MM-dd”,用于选择查询日期;1个ComboBox下拉列表选择框,用于选择查询科室;1个Button按钮,用于执行查询;一个DataGridView数据网格视图,用于显示查询结果。 8、选中ComboBox下拉列表选择框控件,点击控件中右上角出现的箭头,弹出ComboBox数据绑定窗口,勾选“使用数据绑定项”,之后选择6中添加的数据集Loc1,设置“显示成员”为“科室名称”字段,“值成员”为“科室ID”字段,“选定值”为“科室ID”,上述操作便完成了ComboBox控件直接使用数据集的设置。 9、点击项目启动按钮,点击选择科室的下拉列表框,可以看到科室列表,由此可以看出,通过上面6、7、8三个步骤的简单操作,即完成了C#窗体控件与已添加的数据集的快速绑定,实现了查询IRIS数据库的快速操作。 10、最后双击窗体中的“查询科室日志”按钮,在按钮点击事件函数中,添加通过SQL语句查询IRIS数据库的代码,并通过DataGridView的DataSource属性将SQL语句的查询结果绑定到DataGridView数据网格视图。完成后,再次运行项目,可以实现通过选择日期和科室,查询指定日期和科室的就诊日志。 附上项目的核心代码,少部分细节地方参见代码中注释部分: Form1.cs //C#窗体及控件加载和操作代码 using System; using System.Windows.Forms; namespace QuickApp1 { public partial class Form1 : Form { //新建IRIS数据库的ODBC连接对象 ODBCHelper1 dBCHelper1 = new ODBCHelper1(); //避免comboBox数据未绑定时的异常退出 bool cmbFlag = false; public Form1() { InitializeComponent(); } private void Loc_comboBox1_SelectedIndexChanged(object sender, EventArgs e) { //排除窗体未加载时comboBox数据未绑定时的异常退出错误 try { if (cmbFlag && !String.IsNullOrEmpty(Loc_comboBox1.SelectedValue.ToString())) { string selectLoc = Loc_comboBox1.SelectedValue.ToString(); } } catch (Exception) { ; } } //按钮点击事件 private void findAdmListBtn1_Click(object sender, EventArgs e) { //取日期选择器的日期 string selectDate = dateTimePicker1.Text.ToString(); //取科室下拉选择框的科室 string selectLoc = Loc_comboBox1.SelectedValue.ToString(); //通过SQL语句查询IRIS数据库 string sql = "SELECT A.PAADM_DepCode_DR->CTLOC_Desc 科室, A.PAADM_PAPMI_DR->PAPMI_Name 患者姓名,decode(A.PAADM_PAPMI_DR->PAPMI_Sex_DR,1,'女',2,'男','未知') 性别,A.PAADM_AdmDocCodeDR->CTPCP_Desc 医生姓名, A.PAADM_ADMNo 就诊流水号,A.PAADM_AdmDate 就诊日期,A.PAADM_AdmTime 就诊时间 FROM PA_Adm A WHERE A.PAADM_AdmDate =" + "'" + selectDate + "'" + "AND A.PAADM_DepCode_DR = " + "'" + selectLoc + "'"; //通过DataGridView的DataSource属性将SQL语句的查询结果绑定到DataGridView数据表格视图 this.dataGridView1.DataSource = dBCHelper1.CacheExeQuery(sql); } private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) { //为DataGridView数据表格添加行序号 try { for (int i = 0; i < dataGridView1.Rows.Count; i++) this.dataGridView1.Rows[i].HeaderCell.Value = (i + 1).ToString(); } catch { MessageBox.Show("处理异常:表格行序号添加异常"); } } private void Form1_Load(object sender, EventArgs e) { //窗体加载时处理 // TODO: 这行代码将数据加载到表“loc1.CT_Loc”中。您可以根据需要移动或删除它。 this.cT_LocTableAdapter.Fill(this.loc1.CT_Loc); cmbFlag = true; } } } ODBCHelper1.cs //ODBC数据库连接公共类 using System.Data; using System.Data.Odbc; namespace QuickApp1 { internal class ODBCHelper1 { //ODBC连接格式化字符串,将Dsn(连接名称)、Server(IRIS服务器IP)、Port(端口)、DataBase(数据库)、Uid(用户名)、Pwd(用户名)换成你自己的。 public static string conString = "Dsn=irisxxx;Server=xxx.xxx.xxx.xxx;Port=xxxx;DataBase=xxxx;Authentication method=0;Uid=xxxxxx;Pwd=******;static cursors=0;query timeout=0;unicode sqltypes=0;"; public DataTable CacheExeQuery(string sql) { using (OdbcConnection con = new OdbcConnection(conString)) { using (OdbcCommand cmd = new OdbcCommand(sql, con)) { using (OdbcDataAdapter da = new OdbcDataAdapter(cmd)) { DataTable dt = new DataTable(); con.Open(); da.Fill(dt); return dt; } } } } } } 好文! 快速开发、快速接入、快速应用、良好兼容,轻量级开发的好平台。 感谢分享 赞,值得学习 简单实用,学习了。 感谢分享!刚上班的小白接触感觉很有用
文章
Claire Zheng · 二月 13, 2023

【GS22 视频】如何确保企业长青?InterSystems CEO Terry:保持愿景、热情与专注

InterSystems 2022年全球峰会上,InterSystems 创始人兼 CEO Terry Ragon 分享了如何才能使企业获得持续发展。他是“愿景领导公司”的坚定信徒,他认为,愿景、热情与专注对于推动业务发展、保持企业创新活力至关重要。InterSystems 的愿景是:我们是一家提供创新数据技术服务的公司,对卓越和客户成功充满激情。
公告
Claire Zheng · 六月 22

适用于 InterSystems IRIS、IRIS for Health、HealthShare HealthConnect 的维护版本 2024.1.4 和 2023.1.6 现已发布

适用于 InterSystems IRIS® 数据平台、InterSystems IRIS® for HealthTM 和 HealthShare® Health Connect 的维护版本 2024.1.4 和 2023.1.6 现已正式发布 (GA)。 这些版本包含对最近发布的以下提醒的修复 - 提醒:SQL 查询返回错误结果 | InterSystems。 请通过开发者社区分享您的反馈,以便我们可以共同打造更出色的产品。 文档 您可以在以下页面上找到详细的变更列表和升级核对清单: InterSystems IRIS InterSystems IRIS for Health HealthShare Health Connect 抢先体验计划 (EAP) 目前提供多个 EAP。 请查看此页面并注册您感兴趣的 EAP。 如何获取软件? InterSystems IRIS 和 InterSystems IRIS for Health 的完整安装包可以从本 WRC 的 InterSystems IRIS 数据平台完整工具包页面 获取。 HealthShare Health Connect 工具包可以从 WRC 的 HealthShare 完整工具包页面获取。 容器镜像可以从 InterSystems 容器注册表中获取。 可用性和软件包信息 此版本提供了适用于所有受支持平台的经典安装包,以及 Docker 容器格式的容器镜像。有关完整列表,请参阅“支持的平台”文档。 这些维护版本的内部版本号为:2024.1.4.512.0 和 2023.1.6.809.0。
文章
Jingwei Wang · 九月 6, 2022

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 包。
文章
Claire Zheng · 三月 24, 2022

【极客聊吧】如何为用户提供更好的开发体验(下 )

众所周知,InterSystems IRIS的产品设计理念源于互操作性(Interoperable)、稳定性(Reliable)、直观(Intuitive)、可扩展性(Scalable),在云时代,InterSystems IRIS的云上操作与本地一样便捷,令用户体验有了明显提升。为了更高效地对InterSystems IRIS进行配置,我们还提供了哪些新特性?为了便捷地进行数据迁移,InterSystems IRIS最新版本提供了哪些解决方案?本期视频中,InterSystems中国销售工程师吕正之、马浩和WRC产品支持专家杨乐乐对此进行了解答。
文章
Jeff Liu · 三月 15, 2021

JDBC 兼容性状态

JDBC 兼容性状态 **这是一篇 [InterSystems 常见问题解答网站](https://faq.intersystems.co.jp/)文章。 版本 2009.1 及更高版本与 JDBC 4.0 API 兼容。 有关详细信息,请查阅以下文档。 [关于 JDBC 支持](First Look: JDBC and InterSystems Databases - InterSystems IRIS Data Platform 2020.3)
文章
Jingwei Wang · 九月 16, 2022

Python应用程序连接到InterSystemsIRIS数据库 - 使用 pyodbc

此篇文章给大家介绍一个使用pyodbc连接到 InterSystems IRIS数据库的示例,详情如下: InterSystems IRIS 安装在Redhat 操作系统中,使用pyodbc在Mac操作系统中连接到Redhat 操作系统中InterSystems IRIS数据库。 下载测试代码 使用vscode打开测试代码,并在Solutions文件夹下安装pyodbc pip install pyodbc 在Mac操作系统中安装ODBC驱动 brew update brew install unixodbc 安装后,查看Mac操作系统中的odbcinst.ini文件,此时odbcinst.ini文件应该是空的。 Mac操作系统中/usr/local/bin下使用下列命令注册驱动 或者 配置DSN 注册ODBC驱动 odbcinst -i -d -f pyodbc_wheel/mac/odbcinst.ini 配置本地DSN pyodbc_wheel/mac/odbcinst.iniodbcinst -i -s -h -f odbc.ini_unixODBCtemplate 配置系统DSN odbcinst -i -s -l -f pyodbc_wheel/mac/odbcinst.ini 执行后,查看Mac操作系统中的odbcinst.ini文件,此时odbcinst.ini文件应该是空的, 安装如下信息更改odbcinst.ini文件。 [InterSystems ODBC] Description=InterSystems ODBC Driver=pyodbc_wheel/mac/libirisodbc35.so Setup=pyodbc_wheel/mac/libirisodbc35.so UsageCount=1 将connection.config连接配置文件里面的内容改成Redhat 操作系统中InterSystems IRIS的连接信息。 ip: 192.168.157.XX port: 51773 namespace: USER username: user password: pwd 运行pyodbcplaystocksTask1.py 文件。会显示“Connected to InterSystems IRIS”,表示成功连接到InterSystems IRIS 。
文章
Hao Ma · 十月 28, 2024

配置IRIS Container - 使用iris-main

## 使用[iris-main](https://docs.intersystems.com/iris20231/csp/docbook/DocBook.UI.Page.cls?KEY=ADOCK#ADOCK_iris_iscmain) `iris-main`是IRIS镜像的的ENTRYPOINT程序。 在Container中,`ENTRYPOINT` 指令允许你指定一个可执行程序或者脚本,作为容器启动后运行的主程序。这个程序会在容器启动时自动执行。 执行`docker ps `命令可以看到当前container的ENTRYPOINT是什么: ```zsh hma@CNMBP23HMA demo % docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8f31a857dc90 .../irishealth:2024.2 "/tini -- /iris-main" 3 days ago Up 3 days 2188/tcp, 52773/tcp, 53773/tcp, 54773/tcp, 0.0.0.0:1980->1972/tcp iris-a hma@CNMBP23HMA demo % ``` 我们可以用root进入container, 在根目录下查看iris-main的帮助, 或者查看[在线文档的帮助-iris-main](https://docs.intersystems.com/iris20231/csp/docbook/DocBook.UI.Page.cls?KEY=ADOCK#ADOCK_iris_iscmain)。 **使用的iris-main例子** 以下的compose文件中, 使用了`--check-caps false`关闭了LInux的能力检查(capability check), 使用`--key /install/iris.key`加载了IRIS的license文件,并且配置了`--after /install/installer.sh`,它定义在container启动执行install.sh脚本。 ```yaml iris-a: image: containers.intersystems.com/intersystems/irishealth-arm64:2024.2 container_name: iris-a hostname: irisa ports: - 1980:1972 - 52773:52773 environment: - TZ=CST-8 volumes: - ./install:/install command: --check-caps false --key /install/iris.key --after /install/installer.sh ``` **附: iris-main的帮助** ```zsh # 用root进入container, 在根目录下查看iris-main的帮助 root@irisa:/# /iris-main --help USAGE: /iris-main [--check-caps ] [--monitorCPF ] [--monitorKey ] [--ISCAgentPort ] [--ISCAgent ] [-k ] [-p ] [-t ] [-c ] [-e ] [-a ] [-b ] [-l ] [-s ] [-u ] [-d ] [-i ] [--] [--version] [-h] Where: --check-caps Does nothing; retained for backwards compatibility --monitorCPF Monitor InterSystems IRIS CPF merge file and apply if changes detected --monitorKey Monitor InterSystems IRIS license key and update if changes detected --ISCAgentPort Set the port for ISC Agent. The default value is 2188 --ISCAgent Start ISC Agent before starting IRIS. If this argument is not specified, it defaults to true -k , --key Copies the InterSystems IRIS license key from the directory specified to the active data directory -p , --password-file File containing desired InterSystems IRIS password -t , --terminate Execute a shell command on application shutdown, after any other arguments are processed -c , --create Execute a shell command at application startup, before any other arguments are processed -e , --exit Execute shell commands after stopping InterSystems IRIS (via 'iris stop') -a , --after Execute shell commands after starting InterSystems IRIS (via 'iris start') -b , --before Execute shell commands before starting InterSystems IRIS (via 'iris start') -l , --log InterSystems IRIS log file to be redirected to stdout for monitoring via 'docker logs' -s , --nostu Start InterSystems IRIS with the 'nostu' option for maintenance, single user access mode -u , --up Start InterSystems IRIS (via 'iris start') on container startup -d , --down Stop InterSystems IRIS (via 'iris stop') on container shutdown -i , --instance The InterSystems IRIS instance name to start/stop --, --ignore_rest Ignores the rest of the labeled arguments following this flag. --version Displays version information and exits. -h, --help Displays usage information and exits. iris-main root@irisa:/# ```