私は企業で、ESRI ArcGIS に基づいてカスタム アプリケーションを設計、作成、および保守しています。一部のお客様は、Direct Connect を使用して、Oracle または MS SQLServer に保存されているデータベースに接続しています。ここ数か月、スタンドアロン アプリケーションで問題が発生しています。
Delphi で書かれたアプリケーションがあります。もちろん、私が最初に行うことの 1 つは、ワークスペースを開くことです。
pWorkspaceFactory:= CoSdeWorkspaceFactory.Create as IWorkspaceFactory;
pWorkspaceFactory.OpenFromFile('D:\directconnect.sde', WndHandle, pWorkspace);
これはすべての「通常の」接続で正常に機能し、場合によっては直接接続でも正常に機能します。しかし、OpenFromFile を呼び出すと、別のデータベースでスタック オーバーフローが発生することがあります。Delphi プロジェクトのプロジェクト オプションで MaxStackSize を上げると、一部の Direct Connect データベースで動作するようになりました。しかし、それはすべての人にうまくいくわけではありません。
ArcMap を使用せずに、スタンドアロン アプリケーションで Direct Connects を処理する正しい方法を知っている人はいますか? ArcMap でデータベースにアクセスすることは決して問題ではありません。ArcMap には Direct Connects に対する特別な処理があると思います。
すべてのアイデアと返信に感謝します。答えがあなたと共にありますように;-)
ご挨拶
ウォーハート