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

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191108210744619.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjk3MDg0Nw==,size_16,color_FFFFFF,t_70)

2、按下图设置,平台选oracle,路径是localhost/orcl,然后是oracle的系统登录名和密码,之后是地理数据库名必须是sde,密码,表空间名最好也填sde,最后一栏keycodes在下图路劲里,然后点确定即可

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191108210836256.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjk3MDg0Nw==,size_16,color_FFFFFF,t_70)

注意:创建sde用户时候需要授权文件,这个网上找一下。实在没有私信我吧。

## 其次是C# arcgis engine连接sde

arcgis engine连接sde代码网上很多,这边我给大家介绍一种比较少见,我觉得也是比较容易出错的方法。

就是穿件连接文件的方法。先放代码吧,更直接些。

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191108213528182.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjk3MDg0Nw==,size_16,color_FFFFFF,t_70)

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

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

上代码,直接复制到sqlplus里面即可。

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191108213915583.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjk3MDg0Nw==,size_16,color_FFFFFF,t_70)注意:testdltb_mian是你删除不干净的表的名字。test是你的用户名,你登录的用户名。一般用sde登录sqlplus,然后执行下面代码。如果执行完上面代码还是删除不干净,我还有个终极也是最狠最迅速的方法。就是用navicate连接oracle以sde用户登录,将sde下面所有表中含有这个表的名字全部删除。很显然有风险,不过也还好,与其坐以待毙,不如主动出击。。。反正都是死,万一成功了呢。不过我确实成功了。祝你好运。

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

转自我的博客:https://blog.csdn.net/weixin_42970847/article/details/102980209。

你可能感兴趣的:(Arcgis engine 二次开发之SDE疑难杂症)