Событие на подключение к SDE

0 голосов
спросил 30 Янв, 07 от filippov70 (5,320 баллов) в категории Программные продукты Esri
Я уже задавал вопрос по этой теме и тогда была 8-я версия Аркгиса, может сейчас, в 9-ке, проблема решена.

Есть mxd-шник, в нем слои ссылаются на фичаклассы SDE.
При открытии этого документа выходит запрос на пользователя/пароля для SDE.
Как можно добиться того, чтобы этого окна не было, пользователь/пароль известны и я могу их подставить куда надо, вот куда только?

Решить можно так - на OpenDocument повесить форму с запросом логина, создать сдеворкспейс(есть хорошие примеры) и все загрузить, что надо(я реализовал). Только вот группировка, оформление по условным знакам, по уникальным значениям, join таблиц к слоям и т.п., все что сохраняется в mxd-шнике прийдется делать самостоятельно, а это понятно - геморрой!

Не лучше ли иметь возможность перехватить запрос на логин к сде?
Если окошко выходит - значит что-то его генерит? Что?

5 Ответы

0 голосов
ответил 30 Янв, 07 от Alexander1 (32,520 баллов)
Check ISetDefaultConnectionInfo interface:

"ISetDefaultConnectionInfo is an optional interface supported by the SDEWorkspaceFactory. It allows setting of default values for the user, password and version connection properties on a per server and instance basis. These default values will be used by the Open method in those cases where the caller of the method does not supply values for these properties at call time and by the OpenFromFile method in those cases where the connection file contains partial connection information."
0 голосов
ответил 31 Янв, 07 от filippov70 (5,320 баллов)
Alexander, спасибо за ответ,это интерфейс для установки дефолтовых значений для соединения, а я спрашивал про событие, event, которое возникает при открытии mxd-файла содержащего ссылки на SDE featureclass'ы.


0 голосов
ответил 02 Фев, 07 от igorstr (6,690 баллов)

Про евенты не скажу, не знаю, но вот некотороые рекомендации дам. Чтобы вопроса о пароле не было, надо при создании подключения, через которое собирается проект ставить галку "сохранять пароль". А если проект уже создан - переопределить источник данных на новое подключение. Есть также скрипт, который переопределяет все источники данных проекта на установленное подключение, в котором вся инфа о юзере и пароле забита -c:\server.sde, например. Пишите на мыло, вышлю. А еще можно использовать подключение с аутентификацией и ОС, в 9.2 это можно и при подключениии через ArcSDE, в 9.1  - только при прямом подкючении. В строке логина надо указать "\" или "/", не помню точно. Для SQL это проходит нормально, для Oracle надо некоторые доп приседания делать в БД, имя домена из логина выкидывать (см доку по БД), ну и, ессно, юзеров в Oracle завести, которые аутентифицируются через ОС.

И еще. НЕ ИСПОЛЬЗУЙТЕ юзера SDE для хранения и использования данных (дыра в секретности), для тестов можно. Делайте для данных отдельных юзеров, причем, для каждого работающего - свой логин, если, конечно, конфигурацию логов не изменяете. 
0 голосов
ответил 09 Фев, 07 от filippov70 (5,320 баллов)
Спасибо Igor, есть над чем подумать
0 голосов
ответил 14 Фев, 07 от Alexander1 (32,520 баллов)
Alexander, спасибо за ответ,это интерфейс для установки дефолтовых значений для соединения, а я спрашивал про событие, event, которое возникает при открытии mxd-файла содержащего ссылки на SDE featureclass'ы.


Дело, конечно, хозяйское, но именно с помощью этого интерфейсом решается подобная проблема.
Как? Это уже другой вопрос. Именно так, как предполагалось в первом сообщении этого топика - в форме вводится логин (один раз), а потом на его основании устанавливается этот самый Default Connection для всех слоёв СДЕ (если логин одинаков и работает для всех слоёв.)    
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...