转到文章 Qiao Peng · 三月 19 这是级别2的错误,是后台写进程的一个告警。如果是发生在生产系统上,应该找技术支持WRC团队确定问题。社区里有不少Cache', IRIS文章,另外,最左边这个线上学习网站(Learning)有大量主题可选的免费课程,欢迎注册。
转到文章 Qiao Peng · 十二月 2, 2022 是的,2010里是无法导出OBJ的。在2012之后才有这个能力。如果要迁移2010里的code,需要导出INT或CLS代码,然后在目标环境上导入并编译。
转到文章 Qiao Peng · 十月 6, 2022 带Z是UTC时间,使用下面的方法会将其转换为本地时间。 s x="2022-09-30T07:24:57.899Z"w $Replace($ZDT($ZDTH(x,3,8),3,1),"-","/")返回:2022/09/30 15:24:57
转到文章 Qiao Peng · 六月 30, 2022 Cache'使用SQL访问第三方视图更简便。可以通过 link table直接操作第三方数据库。Cache'2018的文档: https://docs.intersystems.com/ens201815/csp/docbook/DocBook.UI.Page.cls?...
转到文章 Qiao Peng · 六月 16, 2022 SAMPLES>s cls=##class(%Dictionary.ClassDefinition).%OpenId("Sample.Person") SAMPLES>s cls2=cls.%ConstructClone(cls) SAMPLES>s cls2.Name="User.Person" SAMPLES>w cls2.%Save()
转到文章 Qiao Peng · 十二月 24, 2021 IRIS的镜像(Mirroring)支持多个报告类型(Reporting Asyncs)的异步成员,这些异步成员可以用于查询、报表运行、BI等多种场景。
转到文章 Qiao Peng · 五月 24, 2021 你是要遍历XML DOM树?可以如下使用: ClassMethod Test() { Set x="<?xml version=""1.0"" ?><root xmlns=""test"" xmlns:mc=""test1"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xsi:schemaLocation=""test2""><!--this is a test--><id code=""test3""/></root>" try { $$$ThrowOnError(##class(%XML.XPATH.Document).CreateFromString(x, .doc)) Set doc.PrefixMappings="s test" $$$ThrowOnError(doc.EvaluateExpression("/s:root", ".", .field)) #dim obj As %XML.XPATH.DOMResult = field.GetAt(1) while obj.Read() { if obj.HasValue { write obj.Path,": ",obj.Value,! } if obj.HasAttributes { for i=1:1:obj.AttributeCount { d obj.MoveToAttributeIndex(i) w obj.Name,":",obj.Value,! } } } }catch(ex) { write "Error ", ex.DisplayString(),! } } 输出:xmlns:xml:http://www.w3.org/XML/1998/namespacexmlns:testxmlns:mc:test1xmlns:xsi:http://www.w3.org/2001/XMLSchema-instancexsi:schemaLocation:test2root\: this is a testcode:test3
转到文章 Qiao Peng · 四月 23, 2021 可以调用操作系统的命令来获取CPU序列号。例如在Cache' for Windows上,可以执行:SAMPLES>s args=3SAMPLES>s args(1)="CPU"SAMPLES>s args(2)="get"SAMPLES>s args(3)="ProcessorID"SAMPLES>d $ZF(-100,"","wmic",.args)ProcessorId0FABFBFF000506EX0FABFBFF000006EX0FABFBFF000006EX0FABFBFF000006EX
转到文章 Qiao Peng · 四月 19, 2021 使用%request变量,它有属性CgiEnvs代表Cgi环境变量,然后找REMOTE_ADDR即可。例如: $G(%request.CgiEnvs("REMOTE_ADDR"))
转到文章 Qiao Peng · 四月 15, 2021 系统类%Library.GTWCatalog有一个类查询SQLDataSources用来获取DSN,例如: ClassMethod Test() { set rs=##class(%ResultSet).%New() set rs.ClassName="%Library.GTWCatalog" set rs.QueryName="SQLDataSources" set sc=rs.Execute(1) If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit while rs.%Next() { do rs.%Print() } }