麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

ArcGIS Engine 10 开发手册(4-2)打开一个数据库

要打开一个数据库,也就意味着我们要得到那个工作空间,而工作空间是一个普通类,也就意味着我 们只能从其他类来得到这个工作空间,这个类就是工作空间工厂(WorkspaceFactory),而这个类又是一个 抽象类,也就意味着我们只能使用它的子类来实例化一个对象,WorkspaceFactory 有众多的子类,我们可 以从 OMD 图中获得,如下图:

在这里说明下,shapefile 是 Esri 早期的空间数据格式,以文件管理, shapefile 文件所在的文件夹也被抽象为一个 workspace,相应的要的 到 shapefile,就要用到 shapefileworkspacefactory 这个工厂对象。

IWorkSpaceFactory 是 Geodatabase 的入口,它定义了数据库的通用属性,比如打开,创建等,我们在 ArcGIS
Engine 的帮助中可以详细的得到它的信息,如下图:

打开个人数据库

public IWorkspace GetMDBWorkspace (String_pGDBName)
{
  IWorkspaceFactory pWsFac = new  AccessWorkspaceFactoryClass ();
  IWorkspace pWs = pWsFac.OpenFromFile (_pGDBName,0);
  return pWs;
}

打开文件数据库

public IWorkspace GetFGDBWorkspace (String_pGDBName)
{
  IWorkspaceFactory pWsFac = new FileGDBWorkspaceFactoryClass ();
  IWorkspace pWs = pWsFac.OpenFromFile (_pGDBName, 0);
  return pWs;
}

打开SDE数据库

打开 SDE 数据库我们使用的是 Open 方法,要用这个方法,我们就要对 IPropertySet 对象设置,要打开 SDE 数据库,我们要获取 SDE 数据库的服务器地址,数据库实例,数据库,用户,密码等参数。而 IPropertySet 就好比一个 Key-Value 的对象,用来帮组我们设置这些,然后传到 Open 方法中。

public IWorkspace GetSDEWorkspace (String_pServerIP, String_pInstance, String _pUser, String_pPassword, String_pDatabase, String_pVersion)
{
  ESRI.ArcGIS.esriSystem.IPropertySet pPropertySet = new ESRI.ArcGIS.esriSystem.PropertySetClass ();
  pPropertySet.SetProperty ("SERVER", _pServerIP);
  pPropertySet.SetProperty ("INSTANCE", _pInstance);
  pPropertySet.SetProperty ("DATABASE", _pDatabase);
  pPropertySet.SetProperty ("USER", _pUser);
  pPropertySet.SetProperty ("PASSWORD", _pPassword);
  pPropertySet.SetProperty ("VERSION", _pVersion);
  ESRI.ArcGIS.Geodatabase.IWorkspaceFactory2 workspaceFactory;
  workspaceFactory = (ESRI.ArcGIS.Geodatabase.IWorkspaceFactory2) new ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactoryClass ();
  return workspaceFactory.Open (pPropertySet, 0);
}

注意,打开 SDE 数据库需要用到 ArcGIS Engine 运行时的企业级许可。

ArcGIS Engine 10 开发手册全集

ArcGIS Engine 10 开发手册全集: ArcGIS Engine 10 开发手册

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)