SPARK-WANG

导航

ArcSDE管理工具-SdeManager软件

前言
    这是我的博客园发的第二篇文章。现在很多政府单位都热衷于数据建库,但在建库完成后如何管理和维护空间数据库都面临很多困难。GIS发展到今天,IT技术在其中的巨大推动力无可质疑。以ArcSDE软件来说,涵盖了数据库、网络、GISESRI 自己的数据模型技术,因此让一个普通的数据库管理人员作到既要精通数据库、又要会使用ArcGIS桌面软件,还要熟悉SDE那令人头晕的命令行,哦,整个世界感觉都黑了。我不是郭靖,我武功不高,我没有精力去琢磨,我只需要一个好帮手,这就是SdeManager软件开发的最初想法。 第二个理由是我在用户那里做项目时,用户方的数据库管理员经常会遇到SDE图层无法写入等情况。在这时用户只好跑进服务器机房(辐射蒸笼的比喻有点过分,但是头晕眼花我是感受深切)把机器重新启动,为什么?用户告诉我不知道怎么回事,只好重启看看了。 第三个理由是我现在开始业余学习C#,虽然此前对VCVB编程有过相当长时间的使用,但是看书和实践永远只是两个境界,也有很长是没有动手写程序了,深恐眼高手低,于是就以SdeManager软件做为开始吧。

简介
   
先介绍一下SdeManager的基本功能吧,包括以下: 1。监视指定ArcSDE例程的连接用户信息; 2。监视指定ArcSDE例程的各类统计信息; 3。监视指定ArcSDE例程的各类锁统计信息; 4。查看ArcSDE图层和版本统计信息; 5。查看和修改ArcSDE存储参数(包括改变存储格式和改变缺省的表空间) 6。查看和修改ArcSDE配置参数(包括设置批量入库模式相关的参数) 7。断开指定的连接(全部断开、指定机器名断开、指定连接断开); 8。发送消息通知(我在做测试时,和我一小兄弟开玩笑,因为他的SDE密码还是sde-据我观察,大部分人安装完SDE后都不去修改缺省的口令SDE,所以我断开他机器上的连接时,他突然大叫我的连接没了,偷笑之余,也有两点需要公告看官。A。自己的SDE用户口令一定要保管好;B。哪怕是善意的断开连接,总得给别人实现通知下吧,因此就有了这项发送消息通知功能。要知道,偶们做技术的永远是给别人服务的,在政府机关,不打招呼就CUT了,那还不是自己找扁啊);
 

开发和运行环境
   前面都说了,开发语言偶用的是C#2005,在这里要想两位兄弟致歉,因为他们有好几次在夜晚被我骚扰,但结果是有一些语言实现上的问题被一一解决了,高手就是高手,徐侠客和阿敏怕是要笑了。:)GIS环境我用的是SDEC API,主要原因有两个,一是那时刚开始学习C#的互操作技术,二是SDE API是免费的,所以就选择了C#+SDE C API作为开发环境。用C#调用C API函数,尤其结构中有一大堆Ptpt和复杂结构体,起始晕头转向不知所以,如果一招既成,也觉得不过尔尔,当然,这还是C#够强的缘故。

涉及的技术
   我想从实现的角度来讲,SdeManager软件使用了以下几方面的知识:
1
。非托管API的调用技术(用到的C APIC#下工作的很好);
2
ADO.NET技术(有些地方直接访问SDE表,这样数据库访问技术也一并实践);
3
。各种控件技术(主要是DataGridViewTreeView);
4
 Socket技术;

5
。线程技术(刚开始用在了定时器中,后来用Timer控件替代);

 

心得感想
   
SdeManager既然是一个管理工具,那么定位肯定不能是ArcCatalogSDE 命令行。因此从易用性方面要尽量作到简捷方便,在功能上则要满足用户的管理要求。但是因为开发是一个不断学习积累的过程,所以在代码实现上不忍细看,条理性和结构性都比较差,此外,一些用户化的工作还在需要进一不完善和改进。

 

SHOW



posted on 2006-05-12 22:18  sparkwang  阅读(3205)  评论(22编辑  收藏  举报