|
阅读:1325回复:1
[求助] Engine做版本数据CreateReplica
<P> private void Create_Replica(IGeoDataServer pGDSparent, IGeoDataServer pGDSchild, string sRepName, esriReplicaAccessType lAccType, string sDataSet, IGeometry pGeometry, bool bRegisterOnly)<BR> {<BR> try<BR> {<BR> // Set and expand the replica datasets.<BR> // here need to overwrite<BR> IGPReplicaDataset pGPReplicaDataset = new GPReplicaDatasetClass();<BR> pGPReplicaDataset.DatasetType = esriDatasetType.esriDTFeatureDataset;<BR> pGPReplicaDataset.Name = sDataSet;<BR> IGPReplicaDatasets pGPReplicaDatasets = new GPReplicaDatasetsClass();<BR> pGPReplicaDatasets.Add(pGPReplicaDataset);<BR><FONT color=#ee1196> IGPReplicaDatasets pGPReplicaDatasets_Expand = pGDSparent.ExpandReplicaDatasets(pGPReplicaDatasets);</FONT></P>
<P> // Set the replica description.<BR> IGPReplicaDescription pGPReplicaDesc = new GPReplicaDescriptionClass();<BR> pGPReplicaDesc.ReplicaDatasets = pGPReplicaDatasets_Expand;<BR> pGPReplicaDesc.ModelType = esriReplicaModelType.esriModelTypeFullGeodatabase;<BR> pGPReplicaDesc.SingleGeneration = (lAccType == esriReplicaAccessType.esriReplicaAccessNone);<BR> pGPReplicaDesc.QueryGeometry = pGeometry;<BR> pGPReplicaDesc.SpatialRelation = esriSpatialRelEnum.esriSpatialRelIndexIntersects;</P> <P> // Set the replica options.<BR> IGPReplicaOptions pReplicaOptions = new GPReplicaOptionsClass();<BR> pReplicaOptions.AccessType = lAccType;<BR> pReplicaOptions.ChildReconcilePolicy = esriReplicaReconcilePolicyType.esriReplicaResolveConflictsNone;<BR> pReplicaOptions.ParentReconcilePolicy = esriReplicaReconcilePolicyType.esriReplicaResolveConflictsNone;<BR> pReplicaOptions.IsChildFirstSender = true;<BR> pReplicaOptions.RegisterReplicaOnly = bRegisterOnly;<BR> <BR> // Create the replica.<BR> IReplicationAgent pRepAgent = new ReplicationAgentClass();<BR><FONT color=#f70997> pRepAgent.CreateReplica("", pGDSparent, pGDSchild, sRepName, pGPReplicaDesc, pReplicaOptions);</FONT><BR> }</P> <P> catch (COMException ComEx)<BR> {<BR> throw new Exception(String.Format("Create replica errored: {0}, Error Code: {1}", ComEx.Message, ComEx.ErrorCode), ComEx);<BR> }<BR> catch (Exception e)<BR> {<BR> throw new Exception(String.Format("Create replica errored: {0}", e.Message), e);<BR> }<BR> }</P> <P>红色区域这俩句就是调不通啊, 哪位高人帮帮忙吧, 这是Esri个的示例,可我咋么就是调不通呢。。“对 COM 组件的调用返回了错误 HRESULT E_FAIL。, Error Code: -2147467259”</P> |
|
|
1楼#
发布于:2008-09-02 10:18
没有人知道吗,我也遇到类似的问题,返回的错误代码是2147754349
|
|