首页 / 浏览问题 / 组件GIS / 问题详情
ImportSettingPersonalGDBVector 导入数据问题
3EXP 2020年09月25日
public static void importMdb(String sourceFile, DatasourceConnectionInfo targetDatasourceInfo, String targetDatasetName) {
    DataImport dataImport = new DataImport();
    ImportSettingPersonalGDBVector importSetting = new ImportSettingPersonalGDBVector();
    importSetting.setImportMode(ImportMode.APPEND);
    importSetting.setSourceFileCharset(Charset.UTF8);
    importSetting.setSourceFilePath(sourceFile);
    importSetting.setTargetDatasourceConnectionInfo(targetDatasourceInfo);
    if (targetDatasetName != null && targetDatasetName.length() > 0) {
        importSetting.setTargetDatasetName(targetDatasetName);
    }

    importSetting.setIsImportEmptyDataset(true);
    dataImport.getImportSettings().add(importSetting);
    ImportResult result = dataImport.run();
    dataImport.dispose();
}

请问一下这个代码做MDB导入udbx的操作,为什么导不进去,但是gdb导入到udbx却能成功,是代码有相应问题,还是其他?采用的是 supermap iobject java 10

2 个回答

您好,请问一下导入mdb文件失败有报什么错误吗?请问您是否安装了与系统位数对应的 AccessDatabaseEngine?可以将你的mdb文件通过idesktop桌面软件进行导入看是否能正常导入

9,237EXP 2020年09月27日
mdb要用另一个导入类实现:

 public static bool ImportMDBDatasource(Datasource DestDatasource, string SourceFile)
        {
            bool bResult = false;
            ImportSettingPersonalGDBVector importSettingMDB = new ImportSettingPersonalGDBVector();
            importSettingMDB.SourceFilePath = SourceFile;
            importSettingMDB.TargetDatasource = DestDatasource;
            importSettingMDB.ImportMode = ImportMode.Overwrite;
            importSettingMDB.SourceFileCharset = Charset.UTF8;
            importSettingMDB.IsImportEmptyDataset = true;

            DataImport pImport = new DataImport();
            try
            {
                pImport.ImportSettings.Add(importSettingMDB);
                ImportResult result = pImport.Run();
                bResult = true;
                LogWriter.WriteLog("数据导入", $"MDB【{SourceFile}】数据导入成功。");
            }
            catch (Exception ex)
            {
                bResult = false;
                LogWriter.WriteLog("数据导入", $"MDB【{SourceFile}】数据导入失败。");
            }
            finally
            {
                importSettingMDB.Dispose();
                pImport.Dispose();
            }

            return bResult;
        }
12EXP 2021年11月12日
...