.net开发Arcengine访问access数据库时,如果同时使用engine和ado访问数据库,结果arcMap直接崩溃

.net开发Arcengine访问access数据库时,如果同时使用engine和ado访问数据库,结果arcMap直接崩溃,第1张

空间数据库用ArcEngine *** 作,没问题;

关系数据库用ADO.net *** 作,没问题;

问题是 使用AE接口将其当做空间库 *** 作后又将其当做关系库然后使用ado *** 作!混搭是会出问题的!

实际上,AE自己有执行sql语句的功能,不要再用自己的ado访问,统一用ae接口。

如果执行 查询 *** 作,使用IQuerydef接口;

如果执行 删除,修改,插入等无返回值的sql语句,直接ExcuteSQL接口即可。

具体用法再查询。当前你应该做的是用这两个接口,改写你所有的ado处理方法,程序中将移除所有的ado,再看结果如何。

原因:打开空间数据库的工作空间,实际上也打开了数据库连接。混搭 *** 作,可能由于你不了解资源的释放等,产生不可预知的错误,也许逻辑是对的,得不到你想要的结果。。。

解决方法 1 :

第一步:点击工具箱,添加选项卡,命名为ArcGis

Windows Forms或者其他你喜欢的名字

第二步,工具箱内右键,选择项,选COM组件

第三步:选中相关控件,打勾然后确定

ArcGIS软件 可分为三个部分:

一、桌面 *** 作即ArcGIS Desktop ( 3.5G 左右),

二、桌面二次开发即ArcEngine (300MB 左右),

三、网络服务即ArcServer (2.6G 左右)、

ArcIMS(9.3以后就没了)

其它,的还有数据库引擎 ArcSDE (350MB 左右) 等

不同模块版本必须统一,也就是说,要是装了9.3 Desktop ,以后其它组件都要装9.3的(ArcServer9.2 和 ArcServer9.3 有很大差别 不兼容!ArcEngine 区别不大)。

且每个模块有不同的 许可文件 (你的 license.dat 是用来 安装 ArcGIS Desktop 的, 而 ArcEngine 的许可文件为 *.ecp 文件) 因为你没有安装 ArcEngine 所以,才会出现 license Failure 的错误提示。虽然,你能在VS中找到它们,但由于你没有安装 ArcEngine ,所以,没有使用它们的权限。

我这有 9.3 的破解文件,和相关的安装包。

你给我邮箱 我发你!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10871205.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存