magiclamp

----博学、审问、慎思、明辨、笃行
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

文摘二 使用各种工作空间工厂对象打开GeoDatabase的例子

Posted on 2008-10-19 23:47  magiclamp  阅读(439)  评论(0)    收藏  举报

打开SDE数据库

public IWorkspace vOpenSDEWorkspace(string Server,string Instance,string User,string Password,string Database,string version){

  IWorkspace ws=null;

  IPropertySet pPropSet = new PropertySetClass();

  //使用SDE的工作空间工厂,不同类型的数据库连接的时候使用不同的工厂对象

  IWorkspaceFactort pSdeFact= new SdeWorkspaceFactortClass();

  pPropSet.SetProperty("SERVER",server);

  pPropSet.SetProperty("INSTANCE",Instance);

  pPropSet.SetProperty("DATABASE",Database);

  pPropSet.SetProperty("USER",User);

  pPropSet.SetProperty("PASSWORD",Password);

  pPropSet.SetProperty("VERSIOn",Version);

  try

  {

    ws=pSdeFact.Open(pPropset,0);

  }

  catch(Exception ex){

    MwssageBox.Show("SDE Cann't connection");

  }

  return ws;

}

直接打开ORACLE数据库中工作空间

  private void OpenOracleWorkspace()

    {

     IWorkspaceFactory pWorkspaceFactory;

     pWorkspaceFactory = new OLEDBWorkspaceFactoryClass();

     IPropertySet pPropertyset;

     pPropertyset = new PropertySetClass();

     pPropertyset.SetProperty("CONNECTSTRING", "Provide=oraoledb.oracle;Data Source˙sde;User Id˙sde;Password˙sde");

     IFeatureWorkspace pWorkspace ;

     pWorkspace = pWorkspaceFactory.Open(pPropertyset, 0) as IFeatureWorkspace;

       }

 

打开 Personal GeoDatabase数据库

  public IWorkspace OpenAccessWorkspace(string connString)

    {

       IWorkspacews= null;

       IWorkspaceFactory wsf = new AccessWorkspaceFactoryClass();

       ws = wsf.OpenFromFile(connString,0);

      return ws;

    }

 

打开 Shapefile工作空间

  public IWorkspace OpenShapfileWorkspace(string Location)

    {

     IWorkspacews= null;

     IWorkspaceFactory wsf = new ShapefileWorkspaceFactoryClass();

     ws = wsf.OpenFromFile(Location,0);

   return ws;

}