我使用%SYSTEM.WorkMgr的多进程(.png)
他们的状态是evtw,如果我执行了很多次这样的操作,进程就会越来越多,它会导致服务器卡顿等异常,但是过一会儿他们会消失,留一个.png)
它不会消失。它产生的子进程其实是可以使用
我的问题是如何正确的结束%SYSTEM.WorkMgr产生的子进程,如何避免服务器因此受到影响甚至宕机,为什么他会导致服务器出问题,有什么办法能再使用完成后,把 %SYSTEM.WorkMgr相关的进程正确的快速结束掉
我使用%SYSTEM.WorkMgr的多进程(.png)
他们的状态是evtw,如果我执行了很多次这样的操作,进程就会越来越多,它会导致服务器卡顿等异常,但是过一会儿他们会消失,留一个.png)
它不会消失。它产生的子进程其实是可以使用
我的问题是如何正确的结束%SYSTEM.WorkMgr产生的子进程,如何避免服务器因此受到影响甚至宕机,为什么他会导致服务器出问题,有什么办法能再使用完成后,把 %SYSTEM.WorkMgr相关的进程正确的快速结束掉
我新建了命名空间,然后新加了用户,新加了角色,给角色授权了%DB_%DEFAULT资源和%Ens_Portal(因为新加的命名空间默认应用就是这个必要资源),然后访问这个空间下的webservice,报错为权限不足,如果再加上%EnsRole_WebDeveloper就可以成功访问,但是加上它后,用户就能登录portal里面的
,我不想让它访问这个 ensemble,请问我应该怎么配置权限资源
我创建了一个类,里面有个属性OPDT 是 %Library.DateTime类型的,类继承了%XML.Adaptor,我是用 d obj.XMLExportToString(.xml) 导出为xml后,OPDT的值是 2023-11-28T13:57:26 这样的,我需要的值是 2023-11-28 13:57:26 这样的,T需要换成“ ”,有没有什么方式能设置导出的数据格式?
一般情况下,我们根据iris的portal向导创建数据库,然后创建命名空间。这个过程比较花时间,如果是已经存在的数据库,还需要再装载。翻阅portal调用的方法后,我整合了这几个方法。把这几个方法拷贝到任意已经存在的命名空间,通过执行CNNS(路径,命名空间),就可以快速创建好命名空间。方法的大概过程是,进入到%sys命名空间,然后依次创建数据库,创建命名空间,创建web应用。创建完成后,回到当前命名空间。
{
s currentNS = $namespace
s $zt="Err"
zn "%SYS"
s ret=..CNNS1(pathroot,NS)
zn currentNS
q ret
Err
zn currentNS
q $ze
} ClassMethod CNNS1(pathroot, NS)
{
s APP="APP"
d ..CDB(pathroot,APP,NS,.sc)
q:sc'=1 sc
s DATA="DATA"
d ..CDB(pathroot,DATA,N
iris 是数据平台,更是一种数据库。对于熟悉SQL语句的人来说,会认为“既然是数据库,数据应该就能使用sql语句来查询”。这是对的,但是因为有global这个概念,保存的数据可能在global里面,而没有对应的表,也可能保存在类的参数定义里面。这些数据,不能使用sql直接查询。要查询iris数据库的数据,通常有几种方式:1.直接查询表的数据。2.查询视图。3.调用存储过程(call 命令)。其中要查询“只存于global里面或者类参数里定义的数据”,只有使用存储过程。但是存储过程有个问题,就是程序如果迁移到低版本的cache数据库后,数据类型的定义会有问题,且不再支持使用select的方式,只能使用call。这对于第三方熟悉sql的人员来说很不友好。因此结合global和表的关系,介绍一种我称为“进程表”的表。进程表,指数据只存于该进程中,global的样式为"^||global名“。通常按照默认存储新加一个持久类(对应会生成一个表),然后手动的把global改成进程global,也就是加上”||“。然后写个方法,把需要查询出来的数据写入进程global。这样就能查询出来 了。调用形式为 SELECT * FROM People WHERE People_GLB()=1。
示例如下:
我用%SQLGatewayConnection把别人给我的数据转为sql 写入mysql的时候,如果数据里面有 ascii 码为57659 这样的数据的时候,
ClassMethod Execute(sql, conn, Output msg) As %Status
{
s $zt="Err"
s msg=""
k hstmt
set sc=conn.AllocateStatement(.hstmt)
set sc=conn.PrepareW(hstmt,sql)
if $$$ISERR(sc) quit sc
//Execute statement
set sc=conn.Execute(hstmt)
if $$$ISERR(sc)
{
k err
Set xsc=conn.GetErrorList(hstmt,.err)
set sc=conn.DropStatement(hstmt)
;Zwrite err
Quit err
}
set sc=conn.DropStatement(hstmt)
q $$$OK
Err
;w $ze,!1.1 我遇到了几个项目,他们的接口服务器崩溃了。 项目上希望尽快恢复服务器。他们的服务器在局域网上运行,他们不能使用git,服务器中有多个命名空间运行不同的服务,而且通常只有一台平台服务器。
1.2 如果消息中有字符流类型的属性,消息搜索页面不支持使用字符流属性进行过滤,因此很难找到想要的消息。
1.3 其他同事可能会更新服务器上的代码,代码中可能有些错误。
2.1 如何快速恢复?
2.2 如何支持字符流属性过滤消息?
2.3 如何在编译类时自动备份?
首先,我们定义一个名为“SYS.base”的类,它只有一个名为“ CLSBAKPATH”的参数,并设置它的值
Class SYS.Base Extends %RegisteredObject
{
Parameter CLSBAKPATH = "D:\IRIS\CLSBAK" ;
}然后,定义一个名为“SYS.Projection”的类,它继承了 base和%Projection.AbstractProjection,添加“Projection Reference As SYS.Projection”,重写类方法“CreateProjection”;
代码如下:
Class SYS.Projection Extends ( %Projection.请问下,项目上数据库用的是cache2010 ,有些文件是部署的,现在想要备份,在cache2016里面可以导出obj为xml,但是cache2010 导出的时候会报错,ERROR #6080: Can not export 'OBJ' type in %RO format for item “xxxxx” 要报错 。
环境是windows server2012 r2 standard+ensemble2016.
新搭建的环境,安装ensemble的时候,选的是正常模式,就是设置了密码,然后新建了命名空间,发布了bs服务(webservice服务),访问的时候需要用户密码,如果在安全里面的web应用程序里面设置为不需要密码,不勾选密码,就访问不了服务,production页面都进不去。这个还需要什么配置吗?期望的效果是,登录portal需要用户名密码,但是对应某些命名空间发布的web服务,不需要用户密码就能访问
我有一个xsd文件,它定义了xml的结构,现在别人要传给我xml,我想通过它验证xml结构是否正确,这个在m里面是怎么使用的?
日常工作中,JSON使用越来越多,很多其他的语言里面有成熟的JSON API,但cache 我一直没找到。而同事们使用的基本都是自己写的一些JSON工具。这些小工具,多多少少有些局限。使用ensemble2016后,发现了
日常工作中,我们使用xml 应该是比较多的,早期的ensemble或者cache,对JSON的支持不是很好,但是对xml支持比较好。因此早期的接口方式中,webservice+xml的方式很常用。而对象导出为xml最简单的方式就是类继承
这里,我姑且定义一个类,用于说明使用场景。
最近遇到一个问题,需求是把大量的数据写入到第三方数据库oracle,目前用的是
我想通过表面表里面的字段找到这个表对应的实体类的属性,有什么高效的方式吗?
实质的需求是,我查询一个表的时候,这个表的字段很多,我需要通过值定位到哪些字段符合。
如这文件内容 <?xml version="8.0"?>
<root xmlns="test" xmlns:mc="test1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="test2">
<!--这个是说明测试哦-->
<id code="test3"/><root>
我需要获取到<?xml version="8.0"?> 以及 root 节点的所有属性和他们的值比如xmlns,它的值是test,需要获取到id的说明 内容“这个是说明测试哦”
最近尝试使用
m 里面如何获取cpu的序列号?
我需要能修改xml 文件里面某个节点的值,目前 使用的方法是EnsLib.EDI.XML.Document 里面的
有时候 有这样的要求,ensemble需要把数据更新或插入到第三方数据库,逻辑:如果数据在第三方数据库不存在,就插入,如果存在就更新。那么有什么方案能批量 快读的完成这个操作呢?
如图 dll放在 .png)
我调用的方式如下 .png)
期待能够在ensemble里面能便捷的调用dll,各种语言开发的dll,至少能支持c#生成的dll,