如何避免在isCOBOL 2016R1版本中执行DCI程序时产生崩溃错误?(DBMR 2783)
用户在命令行中执行DCI程序时,产生如下错误。
>java.exe ISMIGRATE
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.iscobol.dci.Dci.dci__getenv(I[B[B)I
at com.iscobol.dci.Dci.dci__getenv(Native Method)
at com.iscobol.lib.DCI_GETENV.call(DCI_GETENV.java:43)
at com.iscobol.lib.DCI_GETENV.call(DCI_GETENV.java:24)
at com.iscobol.rts.Factory.call(Factory.java:3780)
at com.iscobol.rts.Factory.call(Factory.java:3689)
at ISMIGRATE.GET_DCI_CFG(ISMIGRATE.java:4382)
at ISMIGRATE.GUI(ISMIGRATE.java:2250)
at ISMIGRATE.MAIN(ISMIGRATE.java:2129)
at ISMIGRATE.perform(ISMIGRATE.java:1752)
at ISMIGRATE.call(ISMIGRATE.java:1736)
at ISMIGRATE.main(ISMIGRATE.java:43)
该问题是由isCOBOL2016R1和DCI不兼容引起的。为了修复MR 10307- “thin-client的iscobol多线程”问题,iscobol’s iscbol.jar和DBMaster的DCI库均已被修改,这导致DCI的JNI也发生了改变。
也就是说,isCOBOL2016R1必须使用2016版DCI库。在新的DCI压缩文件中,用户可找到dci_2016.dll和libdci_2016.so,并且需要将它们分别命名为dci.dll和libdci.so。
版本: DBMaster 5.4.x
产品: Norma/Bundle
平台: Windows/Linux