Nicky Zhu · 七月 13, 2025 转到文章

Hi Tang,

You will need a valid WRC account to download Caché 2016.1 install kit. If you did not register the account before, please contact one of our sales representatives for more details. Thanks.

Nicky Zhu · 一月 4, 2023 转到文章

对unknowuser给予All授权将意味着不登录平台的匿名用户将具有对平台操作的所有权限,包括删库,导出数据等。因此在生产环境下应禁止使用。

Nicky Zhu · 十二月 27, 2022 转到文章

您好,
对于BPL中的成分,由于其在代码中以XML记录,可以通过解析该类中xdata中的xml代码段,基于xml文本提取出switch标签中的内容进行解析可以获得其中的内容,可参考https://docs.intersystems.com/irisforhealth20222/csp/docbook/Doc.View.c…

但需要理解的是,基于静态代码分析得到的结果是理论上的分支,不一定能代表实际的业务运行情况,例如在代码有bug导致分支无效的情况等。而所有流经IRIS的消息都被持久化在消息标中,基于消息表通过SQL进行统计更能反映实际的业务运行状况。
可参考:
https://cn.community.intersystems.com/post/intersystems-%E6%95%B0%E6%8D…
https://cn.community.intersystems.com/post/%E9%9B%86%E6%88%90%E4%BA%A7%…

另外,IRIS所有产品都带有查看消息的web界面,可以从portal中访问,也可以作为一个url被集成到用户自己的应用中去:

 

Nicky Zhu · 十一月 17, 2022 转到文章

您好,这个现象是由于采用命名空间的默认应用程序来发布SOAP服务引起。

通常我们建议将portal使用的web application和服务用的web application分开,用独立的Web application发布Web Service或RESTful服务,因为访问服务和访问portal的用户,用户角色不应该是一样的。
比如现在这样portal和服务共用一个web application,如果要让soap不用授权就需要取消对这个命名空间的默认程序的授权限制,意味着谁都能登录进portal甚至进行修改。

SOAP使用的独立web application尽量使用授权,不用授权意味着任何网络请求都可以通过接口执行代码消耗服务器资源。

您这个情况可以尝试取消Web Application的“必要的资源”设置看看

Nicky Zhu · 九月 28, 2022 转到文章

你好,所有经过平台的消息头都保存在在Ens.MessageHeader这张表中,可以直接用SQL查询

Nicky Zhu · 九月 8, 2022 转到文章

您好,通常对于第三方的数据库连接,最常见的性能问题的根源在于平台一侧的数据吞吐量大于对方数据库接收数据的能力,在使用BO及OutboundAdapter时,可以观察到消息队列拥堵,尤其是低业务量下顺畅,高业务量下出现队列快速拥堵的情况下,几乎可以肯定是对端数据库的性能缺陷。

在这种情况下,由于堵点不在平台而在数据库,在平台侧的所有优化都解决不了问题,只能保障平台不因对端数据库的拥堵崩溃。可选的处理手段有:

1. 最终用户根据数据库的吞吐量降低整个平台的吞吐量

2. 最终用户要求保障平台吞吐量,但对端数据库无法优化,则需要接受在平台中堆积队列的现实

3. 最终用户要求保障平台吞吐量,对端数据库改进性能以满足平台吞吐的需要

建议对方的数据库性能进行基准性能和压力测试,使得平台和数据库在吞吐量上相互适应

打印对端数据库的出错信息,可参考

//Create new Gateway connection object
  set gc=##class(%SQLGatewayConnection).%New()
  If gc=$$$NULLOREF quit $$$ERROR($$$GeneralError,"Cannot create %SQLGatewayConnection.")
     
  //Make connection to target DSN
  s pDSN="Cache Samples"
  s usr="_system"
  s pwd="SYS"
  set sc=gc.Connect(pDSN,usr,pwd,0) 
  If $$$ISERR(sc) quit sc
  if gc.ConnectionHandle="" quit $$$ERROR($$$GeneralError,"Connection failed")
     
  set sc=gc.AllocateStatement(.hstmt) 
  if $$$ISERR(sc) quit sc
        
    //Prepare statement for execution
  set pQuery= "insert into scott.dept (deptno,dname,loc) values (10,'Customer Support','Tokyo')"
  set sc=gc.Prepare(hstmt,pQuery) 
  if $$$ISERR(sc) quit sc
  //Execute statement
  set sc=gc.Execute(hstmt)
  if $$$ISERR(sc) 
  {
   Set xsc=gc.GetErrorList(hstmt,.err)
   Zwrite err
   Quit err
  }

Nicky Zhu · 八月 10, 2022 转到文章

通过Terminal在对应的命名空间下执行

  • Set ^Ens.Debug("UtilEnsMessages", "sql")=1
Nicky Zhu · 八月 10, 2022 转到文章

平台可以开放任何Webservice接口,但在您这个应用场景中,您需要先明确电子病历闭环埋点的功能实现在哪个系统,那个系统又如何与平台对接。

Nicky Zhu · 八月 10, 2022 转到文章

您好,不知您是用什么工具构建dashboard。 如果是deepsee或者其他BI工具,在构建dashboard之前需要先基于关系模型构建分析模型(如Cube)。而直接导入的global文件如果不包含该数据对应的表或对象元数据,就不能通过建立cube分析模型构建dashboard。

但如果只是需要dashboard展示数据,并没有建立分析模型必要,则可以考虑通过定义KPI,书写自定义代码建立global与KPI结果集转换关系的方式来构建dashboard。参见:

https://docs.intersystems.com/irisforhealth20221/csp/docbook/Doc.View.c…

https://docs.intersystems.com/irisforhealth20221/csp/docbook/Doc.View.c…

Nicky Zhu · 四月 26, 2022 转到文章

透视表需要基于Cube或Subject Area构建,您需要先建立Cube和SA才能创建透视表

在BI套件中,Architect/模型工具用于创建Cube和SA;Analyzer/分析器 用于创建透视表

Nicky Zhu · 三月 16, 2022 转到文章

从文档库搜索关键词“JDBC“

进入第一篇或第二篇文档,其中明确指出了IRIS使用的JDBC参数

耗时大约15秒

请务必使用官方文档以达到事半功倍的效果哦  laugh

Nicky Zhu · 十二月 8, 2021 转到文章

您好,

我在一个测试环境中实验了在BO代码中切换DSN本身是没有问题的,可以先测试和确认两个DSN是否都能正常工作。

如DSN本身能正常连通但在BO中切换出现问题,麻烦提供下代码。

Nicky Zhu · 十一月 24, 2021 转到文章

日志守护进程维护Journal的读写,该进程若不活动通常意味着磁盘瓶颈、IO异常等问题,严重时会导致实例不可用。

建议联系WRC跟踪、定位和解决问题。

Nicky Zhu · 九月 6, 2021 转到文章

您好

对于Java网关连接报错,麻烦检查下Ensemble所在服务器上是否安装了JRE,并且在服务器命令行下输入Java -Version可以查看java版本而不是报错

对于消息查看界面的报错信息,建立联系WRC查看详细原因再做处理

Nicky Zhu · 六月 15, 2021 转到文章

可以的,您可以通过WRC账号下载红帽版本安装即可。

Nicky Zhu · 四月 26, 2021 转到文章

如果由于修改系统文件、误删除文件等问题导致系统启动、初始化等过程失败,还请联系WRC解决故障。

Nicky Zhu · 四月 1, 2021 转到文章

hi,李工,你好,

在WRC的Component下载页中可以找到ODBC驱动,您可以通过输入产品名称、版本和所需OS类型过滤出所需的压缩包,如下所示

Nicky Zhu · 三月 30, 2021 转到文章

您好,InterSystem的产品家族都支持直接使用Socket,借助UDP或TCPIP与第三方通信,参考

TCP:https://docs.intersystems.com/irisforhealthlatest/csp/docbook/Doc.View…

UDP:https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.U…

如果是使用BS或者BO的话,则可以使用IRIS提供的多种适配器按需开发获得,参考

https://docs.intersystems.com/irisforhealthlatest/csp/docbook/Doc.View…

Nicky Zhu · 三月 8, 2021 转到文章

目前基于Mirror的HA方案只提供数据库级的同步与切换,而web应用配置信息、任务计划、sql网关等是配置,并不经常发生变化,因此Mirroring并不覆盖它们。

针对你的问题,需要注意:

1. 在IRIS的技术里,程序代码也保存在数据库中,因此程序代码和production配置(特别是将production设置为随实例启动后)是可以随Mirror切换的,已经实现了跨服务器备份。本身不需要特别的处理。

2. 对于任务、SQL网关、Web应用配置等信息,并不会自动同步。但IRIS提供了对应的API用于获得、导入和导出这些配置(例如https://docs.intersystems.com/irisforhealthlatest/csp/documatic/%25CSP…)。因此,可以采用定时读取并写入数据库的办法将其同步。当然,要做到自动同步和加载,需要写一些代码。

3. 故障转移Mirror本身是针对在同一子网下进行高可用设置的。考虑到双机同时故障(例如机房断电、地震火灾等自然灾害)的场景,需要为客户提供高可用+异地容灾方案,在Mirror的设计中也有包含(https://docs.intersystems.com/irisforhealthlatest/csp/docbook/Doc.View…

供参考,欢迎就用户的实际需求与我们进行更详细的沟通,谢谢。