ArcEngine 中的-2147467259错误

ArcEngine 中的-2147467259错误ArcEngine中因数据不合规导致的-2147467259错误

大家好,又见面了,我是你们的朋友全栈君。

近日在ArcEngine中做InsertFeature(向*.mdb数据中添加要素)操作时出现了-2147467259错误。

ArcEngine 中的-2147467259错误

由于代码在之前的测试中没有上述异常,遂怀疑是数据问题。经过排查,发现数据的属性表的中有一个字段的长度变短,而待添加的要素相关字段长度超标导致了上述问题,修改后错误消失。但另一处数据添加过程中再次报了-2147467259错误。这次再排查,发现是字段要求非空,而待添加的要素相关字段为空。人工补上字段值后,仍然报错。遂在ArcMap中删掉出错字段,再重新添加,此时ArcMap报了一个警告:

ArcEngine 中的-2147467259错误

提示DATE为reserved word(保留字)。在将字段名改名,代码相应调整后,错误消失。

总结:这次出现-2147467259错误为数据问题,由于没有详细的错误原因,处理起来非常的棘手,需要将先前未报错的数据与报错的数据仔细对比,一步步发现问题。对于保留字作为字段名的问题,更应该注意,由于之前用DATE作为字段名的时候并未报错,所以一开始并没有想到是字段名的问题,对此,微软的帮助文档解释道:

”如果使用保留字或符号来命名桌面数据库或 Web 应用表中的字段,Access 会警告提示该字是保留字,且在引用该字段时可能会遇到错误。如果使用保留字来命名控件、对象或变量,也可能遇到错误。 你收到的错误消息不一定会告诉你保留字是导致问题的原因。 因此,可能很难确定需要更改哪些内容。 “

上述表述翻译一下,强行用保留字命名字段,可能报错也可能不报错。所以,在此建议不要用保留字来作为字段名。

此外,之前在ArcCatalog中还遇到过一个奇怪的现象,将一个图层从一个mdb文件复制到另一个mdb文件中的时候,图层中的DATE字段会自动变成DATE_且没有任何提醒,这导致后续使用时出现过找不到DATE字段引发的错误。看得出,用保留字作为字段名会导致诸多问题且难以发现。

附:

微软官方给出的.mdb ( Access) 保留字

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158411.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • LeetCode算法题-Lowest Common Ancestor of a Binary Search Tree

    LeetCode算法题-Lowest Common Ancestor of a Binary Search Tree

  • Solr使用入门指南

    Solr使用入门指南

  • 手眼标定过程记录

    手眼标定过程记录手眼标定过程记录============================================================================================以下四个变量是最重要的数据rvecs_rb2gripper,tvecs_rb2gripperrvecs_cam,tvecs_cam1.首先排查机械臂末端到底座的旋转平移

  • 如何将a4排版成a3双面打印_A4如何双面打印

    如何将a4排版成a3双面打印_A4如何双面打印A4排成A3双面打印怎么操作?A3纸张的尺寸是297mm×420mm,其大小相当于两张A4的大小,A4是大家工作及生活中使用较多的纸张尺寸,A3纸张不常用,但是遇到一些比较重要的画报、图纸等之类的资料,A3纸张就比较突出了。在城市周边打印店,打印资料时多以使用A4纸张居多,所以如果您到打印店打印A3纸张,很有可能会被打印店告知:无法打印。有时候可能不是打印店员工不会帮您排版,而是打印店的设备不支持为大家打印A3大小的纸张资料。今天小编给大家介绍一个比较专业的网上在线打印平台——易桌面打印室,这是一个网

  • 2010年最有价值做的16个广告联盟是_cpa广告联盟怎么做

    2010年最有价值做的16个广告联盟是_cpa广告联盟怎么做2010年最有价值做的16个广告联盟本篇文章来源于优乐智慧传媒-网络创富门户|www.youle668.cn原文链接:http://www.youle668.cn/article/20100326/71.html2010年谷歌退出中国内地,许多站长朋友一下子束手无策了,因为大多数人之前都是依靠adsense生存的,现在一下子说要走了,还真不知道怎样才好,其实也没必要太担心,所谓条条大路通…

  • 递归和迭代的比较

    递归和迭代的比较迭代(Iteration)与递归(Recursion)是开发过程中常用的编程技巧,二者有相似,也有区别。1、递归简单地说,就是函数调用函数自己。通常把相同规则的业务,定义为一个函数,通过函数的重复调用,完成整体业务的实现。用有限的语句来定义对象的无限集合。比如,一个数字的阶乘计算,通过递归实现如下://递归publicstaticintrecursio…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号