ArcEngine连接SDE数据-阿里云开发者社区

开发者社区> 数据库> 正文

ArcEngine连接SDE数据

简介: 版权声明:欢迎评论和转载,转载请注明来源。 https://blog.csdn.net/zy332719794/article/details/8961390 做ArcEngine开发的系统,都会涉及连接空间数据库,这里记录一下链接方法和过程。
版权声明:欢迎评论和转载,转载请注明来源。 https://blog.csdn.net/zy332719794/article/details/8961390

做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”)可以选择。



版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章