ArcgisEngine中利用IFeatureDataConverter.ConvertFeatureDataset()复制FeatrueDataset报错
//获取SDE工作空间public IWorkspace FindWsByDefault()
{
IPropertySet propSet = new PropertySetClass();
propSet.SetProperty("Server", "zhaofei-PC");
propSet.SetProperty("Instance", "esri_sde");
propSet.SetProperty("Database", "sde");
propSet.SetProperty("User", "sde");
propSet.SetProperty("Password", "sde");
propSet.SetProperty("Version","sde.DEFAULT");
IWorkspaceFactory factory = new SdeWorkspaceFactoryClass();
IWorkspace workspace = factory.Open(propSet, 0);
return workspace;
}
//复制要素集
public void IFeatureDataConverter_ConvertFeatureDataset(IWorkspace sourceWorkspace, IWorkspace targetWorkspace, string nameOfSourceFeatureDataset, string nameOfTargetFeatureDataset)
{
//create source workspace name
IDataset sourceWorkspaceDataset = (IDataset)sourceWorkspace;
IWorkspaceName sourceWorkspaceName = (IWorkspaceName)sourceWorkspaceDataset.FullName;
//create source dataset name
IFeatureDatasetName sourceFeatureDatasetName = new FeatureDatasetNameClass();
IDatasetName sourceDatasetName = (IDatasetName)sourceFeatureDatasetName;
sourceDatasetName.WorkspaceName = sourceWorkspaceName;
sourceDatasetName.Name = nameOfSourceFeatureDataset;
//create target workspace name
IDataset targetWorkspaceDataset = (IDataset)targetWorkspace;
IWorkspaceName targetWorkspaceName = (IWorkspaceName)targetWorkspaceDataset.FullName;
//create target dataset name
IFeatureDatasetName targetFeatureDatasetName = new FeatureDatasetNameClass();
IDatasetName targetDatasetName = (IDatasetName)targetFeatureDatasetName;
targetDatasetName.WorkspaceName = targetWorkspaceName;
targetDatasetName.Name = nameOfTargetFeatureDataset;
//Convert feature dataset
IFeatureDataConverter featureDataConverter = new FeatureDataConverterClass();
featureDataConverter.ConvertFeatureDataset(sourceFeatureDatasetName, targetFeatureDatasetName, null, "", 1000, 0);
//Console.WriteLine("Conversion Complete");
}
//调用
private void CopyFeatureDataSet()
{
BaseFunctions bf = new BaseFunctions();
IWorkspace pWorkspace = bf.FindWsByDefault();
bf.IFeatureDataConverter_ConvertFeatureDataset(pWorkspace,pWorkspace,"sde.DBO.Blank",textBox1.Text.Trim().ToString());
}
//报错截图
{
IPropertySet propSet = new PropertySetClass();
propSet.SetProperty("Server", "zhaofei-PC");
propSet.SetProperty("Instance", "esri_sde");
propSet.SetProperty("Database", "sde");
propSet.SetProperty("User", "sde");
propSet.SetProperty("Password", "sde");
propSet.SetProperty("Version","sde.DEFAULT");
IWorkspaceFactory factory = new SdeWorkspaceFactoryClass();
IWorkspace workspace = factory.Open(propSet, 0);
return workspace;
}
//复制要素集
public void IFeatureDataConverter_ConvertFeatureDataset(IWorkspace sourceWorkspace, IWorkspace targetWorkspace, string nameOfSourceFeatureDataset, string nameOfTargetFeatureDataset)
{
//create source workspace name
IDataset sourceWorkspaceDataset = (IDataset)sourceWorkspace;
IWorkspaceName sourceWorkspaceName = (IWorkspaceName)sourceWorkspaceDataset.FullName;
//create source dataset name
IFeatureDatasetName sourceFeatureDatasetName = new FeatureDatasetNameClass();
IDatasetName sourceDatasetName = (IDatasetName)sourceFeatureDatasetName;
sourceDatasetName.WorkspaceName = sourceWorkspaceName;
sourceDatasetName.Name = nameOfSourceFeatureDataset;
//create target workspace name
IDataset targetWorkspaceDataset = (IDataset)targetWorkspace;
IWorkspaceName targetWorkspaceName = (IWorkspaceName)targetWorkspaceDataset.FullName;
//create target dataset name
IFeatureDatasetName targetFeatureDatasetName = new FeatureDatasetNameClass();
IDatasetName targetDatasetName = (IDatasetName)targetFeatureDatasetName;
targetDatasetName.WorkspaceName = targetWorkspaceName;
targetDatasetName.Name = nameOfTargetFeatureDataset;
//Convert feature dataset
IFeatureDataConverter featureDataConverter = new FeatureDataConverterClass();
featureDataConverter.ConvertFeatureDataset(sourceFeatureDatasetName, targetFeatureDatasetName, null, "", 1000, 0);
//Console.WriteLine("Conversion Complete");
}
//调用
private void CopyFeatureDataSet()
{
BaseFunctions bf = new BaseFunctions();
IWorkspace pWorkspace = bf.FindWsByDefault();
bf.IFeatureDataConverter_ConvertFeatureDataset(pWorkspace,pWorkspace,"sde.DBO.Blank",textBox1.Text.Trim().ToString());
}
//报错截图
2 个回复
朱新颖
赞同来自: why小飞
公子小白666
赞同来自:
要回复问题请先登录或注册
发起人
相关问题
问题状态