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());
        }
//报错截图

1.png

 
已邀请:

朱新颖

赞同来自: why小飞

程序中是否使用的EngineGeoDB许可?编辑SDE数据需要该许可。

公子小白666

赞同来自:

您好,我点击了增加许可,可是没起作用。求大神

要回复问题请先登录注册