public static IWorkspace GetWorkspace(Hashtable pPropList, string progID) { try { IPropertySet2 propertySets = new PropertySetClass(); foreach (string paraName in pPropList.Keys) { propertySets.SetProperty(paraName.ToUpper(), pPropList[paraName]); } IWorkspaceFactory wsf = new ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactoryClass(); return(wsf.Open(propertySets, 0)); return((new ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactoryClass()).Open(propertySets, 0)); IWorkspaceName2 workspaceName = new WorkspaceNameClass(); workspaceName.ConnectionProperties = propertySets; // 类型库需要动态设置 workspaceName.WorkspaceFactoryProgID = progID; IName pName = workspaceName as IName; IWorkspace workspace = pName.Open() as IWorkspace; //IWorkspace workspace = pName.Open() as IWorkspace; return(workspace); } catch (Exception ex) { MessageBox.Show("SDE连接参数不正确,请和系统管理员联系!"); return(null); } }
public static IWorkspace GetWorkspace(Hashtable pPropList, string progID) { try { IPropertySet2 propertySets = new PropertySetClass(); foreach (string paraName in pPropList.Keys) propertySets.SetProperty(paraName.ToUpper(), pPropList[paraName]); IWorkspaceFactory wsf = new ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactoryClass(); return wsf.Open(propertySets, 0); return (new ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactoryClass()).Open(propertySets, 0); IWorkspaceName2 workspaceName = new WorkspaceNameClass(); workspaceName.ConnectionProperties = propertySets; // 类型库需要动态设置 workspaceName.WorkspaceFactoryProgID = progID; IName pName = workspaceName as IName; IWorkspace workspace = pName.Open() as IWorkspace; //IWorkspace workspace = pName.Open() as IWorkspace; return workspace; } catch (Exception ex) { MessageBox.Show("SDE连接参数不正确,请和系统管理员联系!"); return null; } }
//得到SDE工作空间 public static IWorkspace OpenSDEWorkspace() { string sdeServer = GetCenterServerSettings("ServerConfing/LocalSDEServer/Server"); string sdeInstance = GetCenterServerSettings("ServerConfing/LocalSDEServer/Instance"); string sdeUser = GetCenterServerSettings("ServerConfing/LocalSDEServer/UserName"); string sdePassword = GetCenterServerSettings("ServerConfing/LocalSDEServer/PassWord"); string sdeVersion = GetCenterServerSettings("ServerConfing/LocalSDEServer/Version"); IPropertySet pPropertSet = new PropertySetClass(); pPropertSet.SetProperty("Server", sdeServer); pPropertSet.SetProperty("Instance", sdeInstance); pPropertSet.SetProperty("user", sdeUser); pPropertSet.SetProperty("password", sdePassword); pPropertSet.SetProperty("version", sdeVersion); IWorkspace pWorkspace = null; IWorkspaceFactory pWorkspaceF = new ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactoryClass(); try { pWorkspace = pWorkspaceF.Open(pPropertSet, 0); } catch (Exception e) { pWorkspace = null; } return(pWorkspace); }