2010或2016使用##class(%CSP.Page).Encrypt($lb("类名.方法名"))
来加密码请求参数,在iris中加密算法发生变化。基础平台提供支持2010,2016,IRIS的加密方法##class(websys.Page).Encrypt($lb("类名.方法"))
客户端如果要连接iris服务时,用到端口,2010,2016默认使用1972,IRIS默认使用51773,为此基础平台提供##class(ext.util.String).GetConnPort()
来获得端口.其它端口变化如下:
端口:1972改成51773
Telent端口:23改成22322
web端口:57772 改成52773
只有jdk1.7,jdk1.8,影响使用jdbc连接的产品,如润乾报表。且提供的JAR中调用IRIS与以前的2010/2016的API不同。
iris对实体类定义更加严格。如:global名称不能超过31个字符。SQL Storage的RowId层级定义中Expression位置检查(IndexLocSetKPI - RowID Specifications - invalid expression '{L5}'. Must be a {Li} or any field from Map Data.)
。
参数名称从CacheUserName/CachePassword变成IRISUserName/IRISPassword
iMedical8.4版及之前的WebService请求路径和Web应用路径都是使用以下:
http://ip:port/imedical/web/xx // 8.4
在基于iris库基础上的8.5系统上使用WebService统一修改成
http://ip:port/imedical/webservice/xx // 8.5
Web路径统一修改成
http://ip:port/imedical/web/xx // 8.5
即为了管理应用路径及License拆分了路径与配置。
所以需要把以前写死了Webservice路径的地方作出相应修改。
为了让BI工具DeepSee跟踪数据变更,实体类通过继承User.Abstract
来获得DSTIME参数定义。在数据发生变化时IRIS引擎会自动在^OBJ.DSTIME中记录这些操作,格式如:^OBJ.DSTIME(类名,DSTIME,对象ID) = 执行的操作代码
Query FindDocMark(ExaBorough As %String) As %SQLQuery(ROWSPEC="MarkDesc:%String,MarkId:%String")
{
SELECT DepmMarkDr->CTPCP_Desc,DepmMarkDr INTO :MarkDesc,:MarkId FROM SQLUser.DHCDepMark WHERE DepmBorDr=:ExaBorough Group By DepmMarkDr
}
上面代码在2016,2010中可以得到值,但在IRIS中返回空,去掉INTO :MarkDesc,:MarkId即可兼容
sql
语句修改成对象操作,或不引用webgen
IRIS导出的xml导入2016/2010库会报如下错误:
[%msg: <ERROR #5840: Unable to import file 'C:\InterSystems\Ensemble\mgr\Temp\xx.png' as this is not a supported type.>]
则需要把xml中第二行
<Export generator="IRIS" version="26" zv="Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2020.1 (Build 215U)" ts="2021-02-25 09:42:29">
修改成(IRIS修改成Cache,26修改成25)
<Export generator="Cache" version="25" zv="Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2020.1 (Build 215U)" ts="2021-02-25 09:42:29">
如导出的实体类xml
中包含
<Type>%Storage.SQL</Type>
则需要修改成
<Type>%Library.CacheSQLStorage</Type>
注:
1. 可通过运行d $system.OBJ.SetQualifiers("/exportversion=2016.2")
命令全库导出兼容2016的xml
2. Studio->Tools->Options
界面,Environment->Advanced
的Export Flags
中写入/exportversion=cache2016.2
就可以在当前studio导出兼容2016的xml
d $system.OBJ.Export("类名.cls","/tmp/ctloc2016.xml","/exportversion=cache2016.2")
,导出兼容2016的xml到服务器/tmp/下升级数据库同时,一般操作系统也同时会发生变化,Window系统对文件名大小写不敏感,而Linux系统对文件名严格区分大小写,所以当应用界面不能成功引入资源(js,css,png等)时,请修改csp中引用的名称。
iMedical应用的文件名规范为:
.js
,.csp
,.css
应该为小写。
访问量: 509801