ArcEngine连接SDE数据

来源:互联网 发布:内涵吧源码 2016 编辑:程序博客网 时间:2024/05/16 10:53

做ArcEngine开发的系统,都会涉及连接空间数据库,这里记录一下链接方法和过程。

直接上代码:

// 用连接属性创建 propertySet IPropertySet propertySet = new PropertySetClass();propertySet.SetProperty("SERVER", "cuillin");propertySet.SetProperty("INSTANCE", "esri_sde");propertySet.SetProperty("USER", "scott");propertySet.SetProperty("PASSWORD", "tiger");propertySet.SetProperty("VERSION", "SDE.DEFAULT");propertySet.SetProperty("AUTHENTICATION_MODE", "DBMS");// 创建 SDE 工作空间工厂,并打开工作空间//Type factoryType = Type.GetTypeFromProgID("esriDataSourcesGDB.SdeWorkspaceFactory");//var workspaceFactory = (IWorkspaceFactory)Activator.CreateInstance(factoryType);IWorkspaceFactory workspaceFactory = new SdeWorkspaceFactory();IWorkspace workspace = workspaceFactory.Open(propertySet, 0);


在示例中,远程的数据库工作空间链接,如通过SDE,在链接时需要设置  USER, PASSWORD, DATABASE, SERVER, INSTANCE, VERSION, HISTORICAL_NAME, HISTORICAL_TIMESTAMP, 和 AUTHENTICATION_MODE等属性。当然有些属性可以省略。

下面列出这些数据的简单描述

"SERVER" – 需要连接到的SDE服务名称

"INSTANCE" – 需要连接到的实例

"DATABASE" – 连接的数据库名

"USER" – 连接用户名

"PASSWORD" – 链接用户的密码

"AUTHENTICATION_MODE" – 连接凭据身份验证模式。可设置为"OSA"和"DBMS"

"VERSION" – 连接到事务版本,可设置一个字符串描述事务版本的名称

"HISTORICAL_NAME" – 连接到历史版本. 设置一个字符串类型的值,该值是一个历史版本的名字标示.

"HISTORICAL_TIMESTAMP" – 建立一个历史事件点的版本连接,参数是表示历史时间戳的日期时间.

 备注:

1. “DATABASE”参数是可选的,但是在实际情况中如果有多个库(比如SQL Server)就要求设置该参数。

2. 假如“AUTHENTICATION_MODE”参数设置成“OSA”,则“USER”和“PASSWORD”参数则不需要设置。“OSA”表示系统身份认证,用户操作系统凭证建立数据库链接。

3. 工作空间链接只能连接到一个版本,属性参数只有三种(“VERSION”、“HISTORICAL_NAME”,“HISTORICAL_TIMESTAMP”)可以选择。



原创粉丝点击