关系数据库用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 的破解文件,和相关的安装包。
你给我邮箱 我发你!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)