String path = "D:\\hsp.shp";
Workspace workspace = new Workspace();
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setEngineType(EngineType.MYSQL);
info.setServer("106.75.229.99:3307");
info.setDatabase("FEIDONG2020CS");
info.setUser("root");
info.setPassword("wavenet@31269900");
info.setAlias("FEIDONG2020CS");
// 打开数据源
Datasource datasource = workspace.getDatasources().open(info);
if (datasource == null) {
System.out.println("打开数据源失败");
} else {
System.out.println("数据源打开成功!");
//创建临时数据集
//Datasets temp_shape = datasource.getDatasets();
Dataset datasets = datasource.open(info, "node");
String name = datasets.getName();
//boolean flag = datasets.delete("temp_shape");
//String name = datasets.getAvailableDatasetName("temp_shape");
// 设置矢量数据集的信息
// DatasetVectorInfo datasetVectorInfo = new DatasetVectorInfo();
// datasetVectorInfo.setType(DatasetType.REGION);
// datasetVectorInfo.setEncodeType(EncodeType.NONE);
// datasetVectorInfo.setFileCache(true);
// datasetVectorInfo.setName("temp_shape");
// System.out.println("临时数据集的信息为:" + datasetVectorInfo.toString());
// DatasetVector dv_temp = datasets.create(datasetVectorInfo);
//dv_temp.close();
//导入到指定数据源的数据集中
ImportSettingSHP importSettingSHP = new ImportSettingSHP();
importSettingSHP.setAttributeIgnored(false);
//设置当同名数据集存在时导入的模式,如果存在名字冲突,则覆盖
//importSettingSHP.setImportMode(ImportMode.OVERWRITE);
//设置需要导入的数据路径信息
importSettingSHP.setSourceFilePath(path);
//设置需要导入的数据编码类型,因为有中文字段,所以用ASCII编码
importSettingSHP.setSourceFileCharset(Charset.ANSI);
//设置要导入的目标数据源
importSettingSHP.setTargetDatasource(datasource);
//设置目标数据集名称
importSettingSHP.setTargetDatasetName("temp_shape");
DataImport importer = new DataImport();
importer.getImportSettings().add(importSettingSHP);
ImportResult result = importer.run();
if (result.getFailedSettings().length == 0) {
System.out.println("导入成功!");
}
// 释放资源
//datasetVectorInfo.dispose();
info.dispose();
workspace.dispose();
}
这是现有的代码每次我进行导入我把 importSettingSHP.setTargetDatasetName("temp_shape"); 改成数据库有的 还是会新增
Dataset datasets = datasource.open(info, "temp_shape"); 还有用这个方法一直获得为空