Использование Direct Connect доступа к базам данных ArcGIS в автономных приложениях - PullRequest
0 голосов
/ 01 сентября 2009

Я работаю на предприятии, проектируя, создавая и поддерживая пользовательские приложения на основе ESRI ArcGIS. Некоторые клиенты используют Direct Connect для подключения к базам данных, хранящимся в Oracle или MS SQLServer. У меня проблема с отдельным приложением уже несколько месяцев.

У меня есть приложение, написанное на Delphi. Конечно, я первым делом открываю рабочее пространство.

pWorkspaceFactory:= CoSdeWorkspaceFactory.Create as IWorkspaceFactory;
pWorkspaceFactory.OpenFromFile('D:\directconnect.sde', WndHandle, pWorkspace);

Это прекрасно работает для всех "нормальных" соединений, в некоторых случаях прямое соединение тоже работает нормально. Но может случиться так, что при вызове OpenFromFile я получаю в стеке другой поток данных. Повышение MaxStackSize в опциях проекта проекта delphi заставило его работать на некоторых базах данных Direct Connect. Но это не работает для всех.

Кто-нибудь знает правильный способ обработки Direct Connects в автономных приложениях без ArcMap? Доступ к базам данных в ArcMap никогда не был проблемой, я думаю, что ArcMap имеет специальную обработку для Direct Connects.

Спасибо за все идеи и ответы. Пусть ответ будет с вами; -)

Привет

Warheart

Ответы [ 2 ]

1 голос
/ 09 сентября 2009

Спасибо за ваш комментарий. В настоящее время я не могу публиковать более подробную информацию об исключении, потому что не могу воспроизвести его в своих тестовых базах данных. Это только в дикой природе, исключение происходит. Но я могу сказать, что это происходит в (для меня) закрытом ESRI-Dll, я не вижу стек вызовов методов dll (OpenFromFile - это ESRI-метод в ESRI-Dll). Я хотел бы опубликовать такие вещи, но я не могу.

0 голосов
/ 28 октября 2009

Может ли это иметь какое-то отношение к используемой вами библиотеке DC? Есть отдельные библиотеки для каждой версии ArcGIS и каждого варианта базы данных.

...