arcgis engine设置数据源路径_ArcGIS Engine 10 开发手册(4-2)打开一个数据库

本文详细介绍了如何使用ArcGIS Engine打开不同类型的数据库,包括Access、File GDB和SDE。通过工作空间工厂的子类,如AccessWorkspaceFactoryClass和FileGDBWorkspaceFactoryClass,实现了对个人和文件数据库的连接。对于SDE数据库,需要设置IPropertySet来传递服务器、实例、用户、密码等信息。请注意,SDE数据库的连接需要企业级许可。
摘要由CSDN通过智能技术生成

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

27f3f4dc2ca7ecf7e2b16d3076f0fda3.png

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

IWorkSpaceFactory 是 Geodatabase 的入口,它定义了数据库的通用属性,比如打开,创建等,我们在 ArcGIS

Engine 的帮助中可以详细的得到它的信息,如下图:

4ac9365f526a4a7fb88866e1cc479896.png

打开个人数据库

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 开发手册

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值