ArcCatalog导入数据到SDE出错,错误代码Error 999999 Error executing function.Object name is not a regular identif

来源:互联网 发布:金山测速软件 编辑:程序博客网 时间:2024/05/16 14:09

使用ArcEngine导入数据,总有几个图层导不进去,检查之下,没发现代码有什么问题,于是使用ArcCatalog试了,没想到,还是导入不了,批量导入的时候,显示100%完成,提示成功了,进入一看,什么都没有,幸亏在单个图层导入的时候,有出错提示如下:

ERROR 999999: Error executing function.Object name is not a regular identifier...

单从字面上翻译一下,大致是说,对象名称不是一个常规的标识符,使用ArcMap查看了一下,图层属性信息表中有几个字段

名称是这样的:“长度(米)”,我试着新建了一个字段,照样子输入了一个“宽度(米)”,点

确定的时候,会提示有非法字符,并建议修改成“宽度_米_”,不知道这原始数据是怎么处理,括号怎么弄进去的,

不管了,照提示的,新建字段,把原来的字段的值复制过去,然后删除掉,再执行导入,一切ok,呵呵,

看来,数据制作还是要细心才行啊...

 

字段名称也有讲究,若命名为Area,在导入到SDE后,会被自动加上下划线,变成Area_,若在设置标注

的时候把LabelEngine的Expression属性还设置成Area,就会发现,整张地图都不显示标注了,

一个图层的标注字段找不到,就可能会影像全局的图层标注。

 

图层名称也是,比如命名为ND-1,导入SDE后,会被改成ND_1,若还按之前的名称从SDE加载,

图层名称也不能为数字开头,比如1_1,使用SDE的C Api导入时,会返回-322错误:

SE_INVALID_IDENTIFIER (-322)

Name not valid for DBMS.

 

使用ArcCatalog导入时,会自动添加个前缀F,就变成F1_1了

就会报错找不到该图层。

 

这些是目前SHP转SDE时遇到的状况,记录以备忘。

原创粉丝点击