文章
· 九月 28, 2022 阅读大约需 12 分钟
关于%Dictionary.CompiledClass类在实际业务中的一些应用

简单分享下在医院实际业务过程中%Dictionary.CompiledClass的一些应用。
一,Query查询出来的数据直接存表。
我们经常会遇到一些突如其来的检查,如:飞行检查,审计检查等等,往往一下子要查询几年的各种数据,每种数据涉及字段还非常多,数据之间还要求对上,查询耗时长,数据对比难度大,此时,我们需要把查询出来的数据直接存到临时表,数据核对和修改直接在临时表中完成,核对好的数据直接在sqldbx或者水滴等查询工具中整表导出,效率会高一些。
具体实现:按照数据要求,把表建好,Query输出字段和表字段顺序一致,按日期每天调用Query查询和插入,记录异常数据,后续单独处理。
优点:效率明显提高,数据核对和修改、导出很方便,避免了数据量大,多次查询耗时长问题。
缺点:数据量大会占用存储,记得删。
// W ##CLASS(lizw.CloseCycleData).insertDayByDay("2022-01-01","2022-06-30")
ClassMethod insertDayByDay(sd, ed)
{
k ^tmplzw("insertFromQyeryTestpara",$j)

23 1
0 294

我可以从AIX命令行提示符运行以下命令,而不会出现任何问题

-bash-2.05b$ echo t
t
-bash-2.05b$ echo œ
œ

当我从内部Cache调用时,我遇到了问题。

USER>D $ZF(-1,"echo t")
t

USER>D $ZF(-1,"echo œ")

D $ZF(-1,"echo œ")
^
<TRANSLATE>

我正在使用Cache 2017.2。有人可以帮忙吗?

谢谢你。

0 1
0 112
问题
· 五月 24, 2021
双机备份策略建议

单位cache2016.2用rose做的双机,数据库放在阵列上,通过rose切换挂载同一个阵列磁盘,本质上是一个实例,另外做了个mirror机。

这样的结构在容灾备份上有什么问题没,希望给点建议。谢谢

0 1
0 109

本地库 在打开studio、studio编译类、关闭studio等操作系统卡死,关闭后连接超时。

打开cconsole.log报错日志,提示***严重的磁盘读写错误,I/O错误***,对数据库做了一致性检查,也未发现错误,必须重启电脑或者force库后恢复使用。

请问是什么问题造成的。。。

0 1
0 199
问题
· 四月 29, 2022
Cache 动态 SQL 分页

我想知道是否有更好的方法来使用动态SQL对数据集进行分页,而不是我下面使用的方法。问题是,当潜在的数据池变大时,这段代码就会变慢,以至于无法使用。在分析下面的每一行代码时,似乎速度变慢与最初的rset.%Next()迭代有关。 有没有什么不需要子查询/%VID的可用方法,比如简单的LIMIT/OFFSET?

我的代码类似于:

s sql=##class(%SQL.Statement).%New()

s query="SELECT *,%VID FROM (SELECT prop FROM table WHERE prop=x) WHERE %VID BETWEEN 1 AND 100"

s sc=sql.%Prepare(query)

s rset=sql.%Execute()

while rset.%Next() {.....

0 1
1 227
文章
· 六月 15, 2021 阅读大约需 5 分钟
第七章 控制命名空间分配的外观

第七章 控制命名空间分配的外观

控制命名空间分配的外观

除了控制命名空间分配外,还可以控制命名空间分配在XML输出中的显示方式。具体地说,可以控制以下内容:

显式名称空间分配与隐式名称空间分配

将元素和属性分配给命名空间时,XML中有两种等效的表示形式,由编写器实例的SuppressXmlns属性控制。

为一个名为Person的对象生成XML输出,该对象被分配给名称空间“http://www.person.org”(通过前面讨论的namespace类参数)。
使用缺省输出(SuppressXmlns等于0)的示例如下:

0 1
0 98
我需要在当前命名空间下创建一系列的只读类,并限制除_system之外的所有用户都只有读取权限,无法在studio中编译,请问我应该如何操作呢?
我的目的是可以在工程的项目分支中管理这些类,并通过发布方式持续升级这部分类文件。
但是这些类的内部逻辑有可能会需要维护人员能够知晓其中的功能和实现方式,所以不能通过MakeDeployed来解决这个问题
我现在知道可以通过设置database的读写属性来解决这个问题,但是这样就需要额外新建一个database并maping到当前命名空间下。采取这种方式处理时有一个重大的缺点,即在执行代码发布过程中,需要停库,并且停库时间可能会在半个小时左右,这个我无法接受。
0 1
0 102

大家好,

我需要根据用户请求删除Ensemble接口。我想为此编写一个程序,执行的时候将通过代码删除接口组件。
能否提供以下操作的代码示例?

  • 从规则类中删除单个规则
  • 从Ensemble删除一个类
  • 从生产环境中删除主机(服务/操作/流程)。

感谢帮助。

谢谢,

普鲁索他曼

Ensemble Delete Individual Rules and Ensemble classes programmatically
Hi Team,

I have a requirement to delete the Ensemble interfaces , as per User request. I would like to write a routine for that and once I execute, it should remove the interface components through code.
Could you please provide code samples for the following actions ?

0 1
0 89
问题
· 三月 29, 2022
数据库里的可用空间

当我们在一个命名空间中运行数据清除时,数据库的大小和空间并没有改变。 我想,像Oracle一样,它留下的空白空间是可以被缓存使用的,但有没有办法看到这些空间有多少是可用的? 今天我增加了系统可用的磁盘大小,因为我们已经达到了关键的低磁盘空间,然而,随着清理的进行,我们应该有几百GB的可用空间在数据库内使用。

0 1
0 73
问题
· 五月 1, 2022
在 LocalHost上运行Cache

Hi,

我无法连接到本地网络浏览器.

我想打开(http://localhost:57772/csp/sys/UtilHome.csp) 现实:

Caché Server Pages Version 2018.1.6.717.0
Server Availability Error

Server is currently unavailable

如果我调用 CSP.log 得到以下报错:

Access Denied
Diagnostic
Failed to connect to 'LOCAL' - Reason: 0 (Connection successfully made but server not responding) (No Retry)

请帮帮我,谢谢!

0 1
0 101
问题
· 九月 30, 2022
时间格式转换

访问了一个API,得到的返回结果里面有个时间字段,现在返回的格式是这样的 “2022-09-30T07:24:57.899Z”, 怎么样能转换成 YYYY/MM/DD hh:MM:ss的格式

0 1
0 109
文章
· 三月 27, 2021 阅读大约需 11 分钟
第十三章 使用动态SQL(五)

第十三章 使用动态SQL(五)

从结果集中返回特定的值

要从查询结果集中返回特定的值,必须一次一行遍历结果集。
要遍历结果集,请使用%Next()实例方法。
(对于单一值,结果对象中没有行,因此%Next()返回0,而不是错误。)
然后,可以使用%Print()方法显示整个当前行的结果,或者检索当前行的指定列的值。

%Next()方法获取查询结果中下一行的数据,并将该数据放入结果集对象的data属性中。
%Next()返回1,表示它位于查询结果中的某一行上。
%Next()返回0,表示它位于最后一行(结果集的末尾)之后。
每次调用%Next()返回1个增量%ROWCOUNT;
如果游标定位在最后一行之后(%Next()返回0),%ROWCOUNT表示结果集中的行数。

0 1
0 191

问题:

1、EnableVSSBackup这个参数在哪里设置?

2、Cache是否有自己的writer,如果有,怎样查到,叫什么名?

3、实现Cache的全量增量备份,使用VSS是否是最佳实践?

4、是否有Cache全量增量备份的实践案例,以供参考?

————————————————————————————————————————————————————————————————————————————————

我参考这篇官方文档,在启动应用时EnableVSSBackup会默认设置为1,但是我在配置或者应用界面中并没有看到这参数。

0 1
0 101
文章
· 五月 12, 2021 阅读大约需 4 分钟
第五章 管理全局变量(一)

第五章 管理全局变量(一)

管理门户提供管理全局变量的工具,系统类提供执行某些相同任务的方法。本章介绍如何使用这些工具。

一般建议

与ObjectScript命令SETMERGEKILL和其他命令一样,这里描述的工具提供了直接访问操作全局变量的权限。如果通过全局访问删除或修改,则会绕过所有对象和SQL完整性检查,并且没有撤消选项。因此,在执行这些任务时要非常小心,这一点很重要。(查看和导出不会影响数据库,并且是安全活动。)

使用本章中介绍的工具时,请确保以下事项:

  • IRIS使用哪些全局变量。并不是所有这些都被视为“系统”全局变量-也就是说,即使没有选中“系统”复选框,它们中的一些也是可见的。其中一些全局变量存储代码,包括的代码。
  • 确保知道应用程序使用哪些全局变量。

即使应用程序从不执行任何直接全局访问,应用程序也会使用全局变量。请记住,如果创建持久类,则它们的数据和任何索引都存储在全局变量中,全局变量的名称基于类名(默认情况下)。

0 1
0 62
问题
· 八月 16, 2021
java代码中调用历程

我在官网上提供的java方式访问cache下载了一个示例代码 下载地址为:https://gettingstarted.intersystems.com/language-quickstarts/java-quicks...

我在示例代码中看到有这样一种调用 irisNative.functionString("functionName", "routineName") ,请问functionName和routineName主要指什么东西,我在studio中创建了routine,但是也不需要通过functionName来访问呀。

0 1
0 238

万能的社区我在cache中创建一个视图时遇到了麻烦,其查询方式为:

SELECT column1, column2, column 3
FROM table
WHERE
(column1, columnn 2) IN (SELECT c1, c2 FROM table2 GROUP BY c1)
ORDER BY column1

我认为问题出在where子句上,因为它不能取两列: .

具体错误信息为: [SQLCODE: <-1>:<Invalid SQL statement>] [%msg: < ) expected, , found^ (column1,>]

请问如何解决? 谢谢!

0 1
0 111
文章
· 二月 12, 2021 阅读大约需 2 分钟
第三十二章 Caché 变量大全 $ZJOB 变量

第三十二章 Caché 变量大全 $ZJOB 变量

包含JOB状态信息。

大纲

$ZJOB
$ZJ

描述

$ZJOB包含一个数字,其中每个位代表作业状态的一个特定方面。 $ZJOB返回一个整数,该整数由设置的状态位的总和组成。例如,如果$ZJOB = 5,则表示设置了1位和4位。

要测试单个$ZJOB位设置,可以使用整数除(\)和模(#)运算符。例如,$ZJOB\x#2,其中x是位号。下表显示了位的布局(按位的位置值)、其设置和含义:

0 1
0 69