Arcgis engine 二次开发之SDE疑难杂症

arcgis engine二次开发中不可少的是SDE,作为空间数据引擎之一,其功能的强大不言而喻。下面简单介绍一下我在实际项目中的应用,以及遇到的一些坑。全是干货哦。
本人在项目中应用的是Oracle+arcgis SDE,据了解Oracle+spatial也可以实现空间数据的存储与调取。但是SDE貌似更好用些,也是应用的最多的。

首先先介绍下如何在Oracle中创建sde用户。

1、打开arcmap,点击toolbox,展开到data management tools -->geodatabase administration–>create enterprise geodatabase
在这里插入图片描述
2、按下图设置,平台选oracle,路径是localhost/orcl,然后是oracle的系统登录名和密码,之后是地理数据库名必须是sde,密码,表空间名最好也填sde,最后一栏keycodes在下图路劲里,然后点确定即可
在这里插入图片描述
注意:创建sde用户时候需要授权文件,这个网上找一下。实在没有私信我吧。

其次是C# arcgis engine连接sde

arcgis engine连接sde代码网上很多,这边我给大家介绍一种比较少见,我觉得也是比较容易出错的方法。
就是穿件连接文件的方法。先放代码吧,更直接些。

在这里插入图片描述
我太难了,直接手机拍的。大家注意 INSTANCE这个属性,我研究了好长时间才破解出来。注释部分和高亮部分,两种写法,如果大家不知道自己是哪种,这两种都试试吧。确实研究好久,点个关注吧老铁。提醒一下,这个方法和gp工具配合特别好使。有关gp工具的一些用法,大家可以看我上个博客。奉上链接地址:https://blog.csdn.net/weixin_42970847/article/details/102971224。

删除sde中shp表删除不干净怎么办?

上代码,直接复制到sqlplus里面即可。
在这里插入图片描述注意:testdltb_mian是你删除不干净的表的名字。test是你的用户名,你登录的用户名。一般用sde登录sqlplus,然后执行下面代码。如果执行完上面代码还是删除不干净,我还有个终极也是最狠最迅速的方法。就是用navicate连接oracle以sde用户登录,将sde下面所有表中含有这个表的名字全部删除。很显然有风险,不过也还好,与其坐以待毙,不如主动出击。。。反正都是死,万一成功了呢。不过我确实成功了。祝你好运。

以上是我sde中遇到的一些疑难杂症吧,希望能帮助大家。谢谢大家的支持,如果对你有帮助,帮点个赞哈。

发布了14 篇原创文章 · 获赞 15 · 访问量 336

猜你喜欢

转载自blog.csdn.net/weixin_42970847/article/details/102980209
今日推荐