我在一家企业工作,在 ESRI ArcGIS 的基础上设计、创建和维护自定义应用程序。一些客户使用 Direct Connect 连接到存储在 Oracle 或 MS SQLServer 上的数据库。几个月来我一直在使用独立应用程序。
我有一个应用程序,用 Delphi 编写。当然,我做的第一件事就是打开工作区。
pWorkspaceFactory:= CoSdeWorkspaceFactory.Create as IWorkspaceFactory;
pWorkspaceFactory.OpenFromFile('D:\directconnect.sde', WndHandle, pWorkspace);
这适用于所有“正常”连接,在某些直接连接的情况下也可以正常工作。但是在调用 OpenFromFile 时,我可能会在不同的数据库上获取 stackoverflow。在 delphi 项目的项目选项中提高 MaxStackSize 使其适用于某些 Direct Connect 数据库。但这并不适用于所有人。
有人知道在没有 ArcMap 的情况下在独立应用程序中处理 Direct Connect 的正确方法吗?在 ArcMap 中访问数据库从来都不是问题,我认为 ArcMap 对 Direct Connect 有特殊处理。
感谢所有的想法和回复。愿答案与你同在;-)
问候
战心