Oracle external authentication and SDE

0 голосов
спросил 24 Май, 03 от Erkesh (1,080 баллов) в категории Программные продукты Esri

Можно ли обойти и, если да, то как, обязательное требование ввода имени пользователя и пароля при подключении к SDE-серверу?

Аутентификация средствами операционой системы (без дополнительного ввода имени пользователя и пароля со стороны пользователей базы данных - параметр sqlnet.authentication_services = nts в sqlnet.ora) настроена и работает из всех приложений, кроме приложений ArcGis.

6 Ответы

0 голосов
ответил 26 Май, 03 от igorstr (6,660 баллов)

Читаем в ArcObjects Developer Help 

Connect to Enterprise Geodatabase (VB) image

Description:

Making a connection to an ArcSDE geodatabase workspace is the foundatation to accessing enterprise data. This sample will show you how to connect to a geodatabase residing on an ArcSDE server.

How to use:
  1. Paste the code into your VB or VBA application.
  2. Call the function from within your application.
''
'' openSDEWorkspace:  create and open the sde workspace based on the provided information
''
Public Function openSDEWorkspace(Server As String, Instance As String, User As String, _
                 Password As String, Optional Database As String = "", _
                 Optional version As String = "SDE.DEFAULT") As IWorkspace
  
  On Error GoTo EH
  Set openSDEWorkspace = Nothing
  
  Dim pPropSet As IPropertySet
  Dim pSdeFact As IWorkspaceFactory
  
  Set pPropSet = New PropertySet
  With pPropSet
    .SetProperty "SERVER", Server
    .SetProperty "INSTANCE", Instance
    .SetProperty "DATABASE", Database
    .SetProperty "USER", User
    .SetProperty "PASSWORD", Password
    .SetProperty "VERSION", version
  End With
  
  Set pSdeFact = New SdeWorkspaceFactory
  Set openSDEWorkspace = pSdeFact.Open(pPropSet, 0)
  Exit Function
EH:
    MsgBox Err.Description, vbInformation, "openSDEWorkspace"
End Function
0 голосов
ответил 27 Май, 03 от Erkesh (1,080 баллов)

Насколько я понял, этот способ быстро применим в случае конкретного приложения (проекта).

Меня же интересует настройка подключения в ArcCatalog. Вероятно, если я правильно понимаю, нужно изменять шаблон документа normal.gxt. Если я это правильно понял, то - кто знает - в каком именно месте данного шаблона нужно привязывать вышеуказанную функцию из ArcObjects Developer Help, чтобы при коннекте к базе данных через Spatial Database Connection с пустым полем пользователя и пароля ArcCatalog (а после него и ArcMap) не выводил следующее сообщение "Server, Instance, User, and Password properties must be entered", а просто бы коннектился к базе данных?

Некоторые из наших разработчиков говорят, что это в принципе невозможно, т.к. осуществляя подключение через Spatial Database Connection мы производим коннект не к базе данных, а к серверу приложения ArcSDE, который в любом случае обязательно потребует имя пользователя и пароль. Может быть - они правы?

0 голосов
ответил 27 Май, 03 от Alexander1 (32,520 баллов)

Может я чего не понял... image

Однако, если в ArcCatalog Вам нужно подключиться к базе, Вы создаете  spatial connection, при создании которого единственный раз вводите параметры соединения. В дальнейшем соединение производится безо всякого ввода параметров. Все параметры соединения сохраняются в файле с именем соединения.

Этот-же файл можно использовать и в коде для соединения с базой из ArcObjects приложения.

0 голосов
ответил 27 Май, 03 от Erkesh (1,080 баллов)
Поясню. Мне нужно сохранить в этом самом файле с именем соединения ПУСТОЕ имя пользователя и ПУСТОЙ пароль этого пользователя в качестве параметров - такое пробовали? - если получается, то как? - опишите. Внешняя аутентификация (средствами операционной системы) - понятно?
0 голосов
ответил 27 Май, 03 от Alexander1 (32,520 баллов)

Да уж... Тогда ответ на такой вопрос лучше поискать здесь:

http://forums.esri.com/Search.asp?c=2

по ключу типа: Windows Authentication

0 голосов
ответил 28 Май, 03 от Erkesh (1,080 баллов)

Спасибо за ссылку.

Если судить по ответу

Lance Shipman
Geodatabase Product Specialist
ESRI Product Development

на страничке http://forums.esri.com/Thread.asp?c=2&f=59&t=29437&mc=3#msgid71676

то внешняя аутентификация средствами ос не поддерживается в sde 3.x и arcsde 8.x.

На этом остановлюсь.

Если есть примеры коннекта к arcsde 8.2 средствами ос - приведите их здесь.

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...