📄 clsouttogdb.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.DataSourcesGDB;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.GeoDatabaseDistributed;
namespace ChangeXMLPrj
{
public class ClsOutToGDB
{
public void CheckInGDB()
{
IWorkspaceFactory m_workF = new AccessWorkspaceFactoryClass();
IWorkspaceName pdes = null; //m_workF.Create(@"E:\", "ChildGDB3", null, 0);
IPropertySet pps=new PropertySetClass();
pps.SetProperty("Server", "tomato853a577c");//服务器
pps.SetProperty("Instance", "5151") ;//实例
pps.SetProperty("user", "sde");// SDE数据表空间的用户名
pps.SetProperty("password", "sde");//
//pps.SetProperty("version", "sde.DEFAULT") ;//默认版本
IWorkspaceFactory pwww = new SdeWorkspaceFactoryClass();
IWorkspace pq= pwww.Open(pps, 0);
pdes = (pq as IDataset).FullName as IWorkspaceName ;
IWorkspaceFactory pwksf = new AccessWorkspaceFactoryClass();
IWorkspace pwks= pwksf.OpenFromFile("D:\\reuse.mdb", 0);
IWorkspaceName psrc=(pwks as IDataset).FullName as IWorkspaceName;
ICheckIn pcin = new CheckInClass();
pcin.CheckInFromGDB(pdes, "ad", psrc, false , false);
}
public void CheckOutRepia()
{
IWorkspaceName childWorkspace_name = null;
IWorkspaceName parentWorkspace_name = null;
IReplicaDescription replica_des = new ReplicaDescriptionClass();
IReplica m_replica = new ReplicaClass();
IFeature m_feature = null;
////IDataset m_dataset = m_feature as IDataset;
//IDataset m_dataset = m_feature as IDataset;
// IFeatureClassName m_featureName = m_dataset.FullName as IFeatureClassName;
// IWorkspace parentWorkspace = m_dataset.Workspace;
// parentWorkspace_name = (parentWorkspace as IDataset).FullName as IWorkspaceName;
#region hata
IWorkspaceFactory pwksf = new AccessWorkspaceFactoryClass();
IWorkspace pwks= pwksf.OpenFromFile("D:\\reuse.mdb", 0);
IEnumDataset pedt= pwks.get_Datasets(esriDatasetType.esriDTAny);
pedt.Reset();
IDataset pdt = pedt.Next();
#endregion
//创建那个replica description,m_featureName是当前的featureclass的fullname
IEnumName enumname = new NamesEnumeratorClass();
IEnumNameEdit enumname_edit = enumname as IEnumNameEdit;
while (pdt != null)
{
enumname_edit.Add(pdt.FullName);
pdt = pedt.Next();
}
//enumname = enumname_edit as IEnumName;
IWorkspaceFactory m_workF = new AccessWorkspaceFactoryClass();
childWorkspace_name = m_workF.Create(@"E:\", "ChildGDB3",null, 0);
replica_des.Init(enumname, childWorkspace_name, false, esriDataExtractionType.esriDataCheckOut);
replica_des.ReplicaModelType = esriReplicaModelType.esriModelTypeFullGeodatabase;
parentWorkspace_name = (pwks as IDataset).FullName as IWorkspaceName ;
IReplicaEdit m_replica_edit = m_replica as IReplicaEdit;
m_replica_edit.ConnectionInfo = parentWorkspace_name;
m_replica_edit.Description = replica_des;
m_replica_edit.Name = "myCheckout_15";
m_replica = m_replica_edit as IReplica;
ICheckOut m_checkOut = new CheckOutClass();
//m_checkOut.CheckOutData(replica_des, false, "ChildGDB");
m_checkOut.CheckOutData(replica_des,false , "myCheckout");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -