首页 / 浏览问题 / 组件GIS / 问题详情
数据导入临时数据集报错
2EXP 2023年01月09日

使用产品:iobject for Java 10i(10.0.1)  操作系统:win10 x64

在 idea 中使用桌面GIS iobject 导入数据时报以下错误

Method threw 'java.lang.RuntimeException' exception. Cannot evaluate com.supermap.data.conversion.DataType.toString()

在new  ImportSettingPersonalGDBVector对象中setDataType时报错,具体代码如下

1个回答

您好,请问您new ImportSettingPersonalGDBVector 的参数是如何填写的?

还有一个,您的这份mdb文件在您跑代码的同一台机器上,使用iDesktopX桌面端导入是否正常?

需要注意,

ArcGIS Personal GeoDatabase 文件(*.mdb) 是 ArcGIS 个人地理数据库数据文件,可导入为点、线、面、文本以及纯属性表数据集,导入结果为单个矢量数据集。

该文件使用了 Microsoft Access 数据文件结构,因此导入该文件时需要安装一个AccessDatabaseEngine.exe 文件,根据 iObject 的位数来决定安装的 AccessDatabaseEnge 类型,比如用64位的iDesktop,就需要安装64位的 AccessDatabaseEnge。

点击下载↓

AccessDatabaseEngine.exe 文件

希望可以帮助到您!

9,123EXP 2023年01月09日

你好, new ImportSettingPersonalGDBVector 这个对象的时候我并没有设置参数,是jar包里面自己set变量的,如下代码

public class ImportSettingPersonalGDBVector extends ImportSetting {
    public ImportSettingPersonalGDBVector() {
        long var1 = ImportSettingPersonalGDBVectorNative.jni_New();
        this.setHandle(var1, true);
        super.setDataType(DataType.VECTOR);
    }
}

我debug跟踪发现  就是在  super.setDataType(DataType.VECTOR);  这行代码的时候  报了上面的错误

用 iDesktopX桌面端导入数据是正常的

那建议你重新安装一下 AccessDatabaseEngine ,版本和你组件版本一致,如果是64位就安装64位的,你的报错信息就是未找到这个依赖里的东西。

地址1:

www.microsoft.com/en-us/download/details.aspx?id=13255

地址2:

https://www.jb51.net/softs/291504.html

我就是在你上面回复了以后 刚重新装的,并且还重启了电脑,依旧报错
我测试官网10.2.1是正常的,你这边使用10.2.1看一下。

如果你是用10.2.1在这个工程里依旧有问题,建议你新建一个空项目,只引用SuperMap相关需要的com包,new看看正不正常。

如果正常的话可能和你老项目里有依赖冲突了,需要你对项目依赖排查才能定位到问题了。
好的  谢谢
...