ArcEngine实现不同sde版本不同表的数据变化的导出导出

本文详细介绍了如何导出不同版本和表的数据变化,并通过示例代码展示了具体实现过程,同时介绍了导入变化信息的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 导出不同版本的数据变化

 /// <summary>
        /// 导出不同版本的数据变化
        /// </summary>
        /// <param name="iSRC"></param>
        /// <param name="iTrg"></param>
        public void ExportVersionChanges(IWorkspaceName iSRC, IWorkspaceName iTrg)
        {
            IVersionDataChangesInit iVInit = new VersionDataChangesClass();
            try
            {
                iVInit.Init(iSRC, iTrg);
            }
            catch (System.Exception ex)
            {
            	
            }
            IExportDataChanges iEDC = new DataChangesExporter();
            esriExportDataChangesOption exOption = esriExportDataChangesOption.esriExportToXML;
            try
            {
                iEDC.ExportDataChanges(@"D:\\versiondiff.xml", exOption, iVInit as IDataChanges, false);
            }
            catch (System.Exception ex)
            {
            	
            }
        }

2 导出不同表的数据变化

/// <summary>
        /// 导出不同表的数据变化
        /// </summary>
        /// <param name="iInserts"></param>
        /// <param name="iUpdates"></param>
        /// <param name="iDeletes"></param>
        public void ExportTableChanges(ITable iInserts, ITable iUpdates, IStringArray iDeletes)
        {
            ITablesDataChanges iTDCs = new TablesDataChangesClass();
            try
            {
                ITableDataChangesInfo iTDC = new TableDataChangesInfoClass();
                iTDC.Init("Parcle", iInserts, iUpdates, null);
                iTDC.SetDeletedIDs(null,iDeletes);
                iTDCs.Add(iTDC);
                iTDC.Init("Parcel", iInserts, iUpdates, null);
            }
            catch (System.Exception ex)
            {
            	
            }
            IExportDataChanges iEDC = new DataChangesExporterClass();
            try
            {
                iEDC.ExportDataChanges(@"D:\tableDiffs.xml",esriExportDataChangesOption.esriExportToXML,iTDCs as IDataChanges,false);
            }
            catch (System.Exception ex)
            {
            	
            }

        }

3 导入变化信息

  /// <summary>
        /// 导入变化信息
        /// </summary>
        /// <param name="iReplicaWorkspaceName"></param>
        public void ImportChanges(IWorkspaceName iReplicaWorkspaceName)
        {
            IDeltaDataChangesInit iInit = new DeltaDataChangesClass();
            try
            {
                
                iInit.Init(@"D:\diff.xml", esriExportDataChangesOption.esriExportToXML);
            }
            catch (System.Exception ex)
            {
            	
            }

            IImportDataChanges3 iIMportDC = new DataChangesImporterClass() as IImportDataChanges3;
            try
            {
                bool conflicts = iIMportDC.ImportDataChanges3(iReplicaWorkspaceName, iInit as IDataChanges, true, esriReplicaReconcilePolicyType.esriReplicaDetectConflicts, true, true, true);
            }
            catch (System.Exception ex)
            {
            	
            }
        }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值