首页 / 浏览问题 / 组件GIS / 问题详情
iobject java 编辑报错
61EXP 2022年11月30日

iobject java 10.1.2/windows11/postgis数据库

代码: 

DatasetVector datasetVector = (DatasetVector) datasource.getDatasets().get(datasetname);
                FieldInfos fieldInfos = datasetVector.getFieldInfos();
//            fieldInfos.add(qxhfbh);
                fieldInfos.add(dlgtbid);
                //批量赋值
                Recordset recordset = datasetVector.getRecordset(false, CursorType.DYNAMIC);
                int count = datasetVector.getRecordCount();
                if (count > 0) {
                    List<Long> dlgtbidList = superRepository.getSequences(count);
                    Recordset.BatchEditor batchEditor = recordset.getBatch();
                    batchEditor.begin();
                    for (int j = 0; j < count; j++) {
                        recordset.edit();
                        recordset.setFieldValue("dlhtbid", dlgtbidList.get(i));
                        recordset.moveNext();
                    }
                    batchEditor.update();
                }
                recordset.dispose();

错误日日志,

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.UnsatisfiedLinkError: com.supermap.data.RecordsetNative.jni_GetQueryType(J)I

    at com.supermap.data.RecordsetNative.jni_GetQueryType(Native Method)
    at com.supermap.data.Recordset.isClosed(Recordset.java:227)
    at com.supermap.data.Recordset.edit(Recordset.java:563)

1个回答

您好,关于 java.lang.UnsatisfiedLinkError 的异常信息,通常都是 iObjects Java 组件环境配置存在问题,建议您可以参考 iObjects Java 组件帮助文档检查环境配置是否完整,环境依赖是否完好。

其次,看了您的代码,已经开启了 batchEditor 后,直至 batchEditor 批量操作结束,此过程中是无需每个操作再进行 recordset.edit() 接口调用的。

期望可以帮到您。
2,158EXP 2022年11月30日
找到原因了,引用的jar包版本跟path的组件版本不一致
...