首页 / 浏览问题 / 组件GIS / 问题详情
ImportSettingSHP导入失败
2EXP 2023年03月23日

使用产品:iobject for Java 11.0.1

数据库: postgresql 12

问题:采用组件ImportSettingSHP类执行shp文件的导入到数据源中,数据源为数据库数据源,引擎为POSTGRESQL,代码如下:

            String datasourceName = FileUtil.getPrefix(shpPath);
            ImportSettingSHP importSettingSHP = new ImportSettingSHP(shpPath,ds);
            importSettingSHP.setImportEmptyDataset(true);
            importSettingSHP.setImporttingAs3D(false);
            importSettingSHP.setAttributeIgnored(false);
            importSettingSHP.setImportMode(ImportMode.OVERWRITE);
            importSettingSHP.setSourceFileCharset(Charset.ANSI);
            importSettingSHP.setTargetDatasetName(datasourceName);

            DataImport dataImport = new DataImport();
            ImportSettings settings = dataImport.getImportSettings();
            settings.add(importSettingSHP);
            dataImport.setImportSettings(settings);
            ImportResult result = dataImport.run();
            String[] dataSetNames= result.getSucceedDatasetNames(importSettingSHP);
            ImportSetting[] failSettings= result.getFailedSettings();

failSettings中拿到了导入异常的配置,错误信息:方法抛出'java.lang.RuntimeException'异常. 无法评估 com.supermap.data.conversion.DataType.toString()

请问下会是哪出的问题?

1个回答

您好,根据您提供的信息和测试代码,我在本地的 PostgreSQL 数据源测试导入 shp 数据无法复现您描述的问题情况。

根据您提供的错误信息分析,通常该问题是由于项目中引用的第三方 jar 包与 iObjects Java 组件的 jar 包依赖存在冲突,建议可以参考以下流程排查造成该错误的具体原因:

  1. 新建一个命令行的 Java 程序,只依赖 SuperMap iObjects Java 11i 组件包,粘贴您的测试代码测试导入 shp 数据是否依然存在异常;
  2. 若依然存在异常,建议检查当前测试机安装的 JDK 版本,可以尝试更新到 JDK 1.8 较新的版本;
  3. 若更新 JDK 1.8 版本后,命令行测试程序导入时依然存在该异常,建议您保留 iObjects Java 组件异常日志并私信我联系方式。

希望可以帮到您。

2,153EXP 2023年03月23日

谢谢,已解决,是我的shp文件有问题smiley

...