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) 保留字

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux /etc/vimrc 简洁配置

    Linux /etc/vimrc 简洁配置首先进入配置文件vim/etc/vimrc然后在末尾加上以下代码即可:syntaxon”自动语法高亮setnumber”显示行号setautoindent”自动对齐setsmartindent”智能对齐setcursorli…

    2022年6月2日
    36
  • java获取服务器文件路径,干货满满!

    java获取服务器文件路径,干货满满!一、SpringCloud微服务概念定义提起微服务,不得不提SpringCloud全家桶系列,SpringCloud是一个服务治理平台,是若干个框架的集合,提供了全套的分布式系统解决方案。包含了:服务注册与发现、配置中心、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列等等。SpringCloud通过SpringBoot风格的封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署的分布式系统开发工具包。开发者可以快速的启动服务或构建应用、同时能够

    2022年7月11日
    45
  • 冈萨雷斯《数字图像处理》第3版课后习题[通俗易懂]

    冈萨雷斯《数字图像处理》第3版课后习题[通俗易懂]第3章3.6原题:试解释为什么离散直方图均衡技术一般不能得到平坦的直方图?答:假设有一副图像,共有像素个数为n=MN(M行N列),像素灰度值取值范围为(0~255),那么该图像的灰度值的个数为L

    2022年8月2日
    10
  • AMD锐龙Ryzen CPU系列安装黑苹果MacOS 10.14 Mojave安装教程[通俗易懂]

    AMD锐龙Ryzen CPU系列安装黑苹果MacOS 10.14 Mojave安装教程[通俗易懂]教程需要的工具BootDiskUtility:http://cvad-mac.narod.ru/index/bootdiskutility_exe/0-5ParagonHardDiskManager:https://china.paragon-software.com/这个要注册账号才能用hf…

    2022年5月23日
    153
  • python基础(3)列表list「建议收藏」

    python基础(3)列表list「建议收藏」列表列表特点:是一种序列结构,与元组不同,列表具有可变性,可以追加、插入、删除、替换列表中的元素新增元素appendappend添加一个对象,可以是任意类型a=['zhangsa

    2022年7月28日
    9
  • fstream 中文路径_gradle files have changed

    fstream 中文路径_gradle files have changed在C++的标准库中,std::fstream是个挺好用的文件读写流,操作文件很方便,因为是C++标准库,所以没有其它的环境依赖。在使用fstream过程中,有个打开中文路径文件会失败的问题,自己的代码中一直没处理好,这几天终于有点闲心,把这里改透。涉及很多知识点,也是个遗留已久的问题,特此做个记录。在最后用了个一劳永逸的解决此问题方法:将fstream、FILE再包装下。中文路径使用fstream调试程序过程中,发现打开含中文路径的文件时,会打开失败。查了一些资料,说在VS2008、vs200..

    2022年9月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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