用iDesktop制作了一个工作空间,里面有一个udbx型数据源和一个postgresql型数据源 现在在udbx数据源里加入了一个表单数据,然后想要把表单数据拷贝到postgresql数据源中,使用的代码如下
public static String SaveData2Workspace(String saveDatasetName) {
String str = workspaceStr2;
// 定义工作空间
Workspace workspace = new Workspace();
WorkspaceConnectionInfo workspaceConnectionInfo = new
WorkspaceConnectionInfo();
workspaceConnectionInfo.setType(WorkspaceType.SXWU);
workspaceConnectionInfo.setServer(str);
// 打开工作空间
boolean isOpen = workspace.open(workspaceConnectionInfo);
if (isOpen) {
Datasources datasources = workspace.getDatasources();
Datasource datasource = datasources.get(0);
Datasource datasource_GeoAI = datasources.get(1);
// 在数据源 datasource 中取出名为“MachineLearningUDBX”的数据集,将其复制到数据源 GeoAI 下
Dataset datasetVector = datasource.getDatasets().
get("MachineLearningUDBX");
// 返回一个可用的目标数据集的名称,复制数据集
String datasetName = datasource_GeoAI.getDatasets().
getAvailableDatasetName(saveDatasetName);
System.out.println("datasetName = " + datasetName);
Dataset newDataset = datasource_GeoAI.copyDataset(datasetVector,
datasetName, EncodeType.INT32, Charset.SHIFTJIS);
}
else {
}
// 释放工作空间资源
workspaceConnectionInfo.dispose();
workspace.dispose();
return "save success";
}
但是代码运行到copyDataset时报错,说数据集已经dispose了,请问这种情况应该怎么解决