Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 15.11.2017, 15:32   #1
ViktoriyaB
Новичок
 
Регистрация: 15.11.2017
Сообщений: 3
Репутация: 10
По умолчанию Не удается выполнить запрос к АД.

Добрый день! Необходимо выбрать данные из AD. Вроде как задача простая, в инете куча инфы. Но, не удается.
С необходимостью работать с AD столкнулась впервые.

В делфи не выполняется запрос:
qADSelect.SQL.Add('select * from openquery("XXX.AUTO.ACC",''<LDAP://auto.acc/OU=auto,DC=auto,DC=acc>;(&(objectCa tegory=organizationalUnit));objectG UID,distinguishedName;subtree'') ');
qADSelect.Open;
На open выдает ошибку "Произошла одна или несколько ошибок во время работы команды".

Копалась на форумах, нашла рекомендацию создать linked server.
Создала: name XXX.AUTO.ACC, Active Directory Services 2.5, DsDSOObject, EAOrdersLoggingProxy.
В MSSQL Server Manager запрос выполняется, а в Делфи - никак.
В TADOConnection прописано Provider=ADsDSOObject;Encrypt Password=False;Data Source=172.16.xx.xxx;Location=xxx.A UTO.ACC;Mode=Read;Bind Flags=0;ADSI Flag=-2147483648;
IP адрес - ip сервера, к которому прилинковала свой.
Может кто подскажет, что именно я делаю не так?

Последний раз редактировалось ViktoriyaB; 15.11.2017 в 16:22.
ViktoriyaB вне форума   Ответить с цитированием
Старый 15.11.2017, 17:04   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,489
Репутация: 6178
По умолчанию

Тот запрос через сиквел провайдером MSDASQL
а если запрос примерно такой:
SELECT * FROM 'LDAP://auto.acc'
то и настраивать как провайдер ADSDSOObject
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 16.11.2017, 13:51   #3
ViktoriyaB
Новичок
 
Регистрация: 15.11.2017
Сообщений: 3
Репутация: 10
По умолчанию

Проблема решена прямым подключением к линкованному серверу.

Теперь возникла другая ошибка.
При выполнении кода
DisName := 'LDAP://auto.acc/'+qADSelect.FieldByName('distinguis hedName').AsString;
Comp := GetObject(DisName) as IADsContainer; //получает ссылку на объект
Usr := Comp.Create('user' , 'test1') as IADsUser; //создает объект в данном контейнере
Usr.SetInfo;
на последней строке вылетает ошибка "Указан недопустимый dn-синтаксис". Может кто знает, в чем может быть дело?
ViktoriyaB вне форума   Ответить с цитированием
Старый 17.11.2017, 10:16   #4
ViktoriyaB
Новичок
 
Регистрация: 15.11.2017
Сообщений: 3
Репутация: 10
По умолчанию

Я победила этого страшного зверя.
Опишу, вдруг кому пригодится.
Данная ошибка означает, что поле LDAPDN (оно же "distinguishedName") не соответствует требуемому синтаксису или содержит значения атрибутов, не соответствующих синтаксису данных типов атрибутов.

Usr := Comp.Create('user' , 'CN='+UAccName)
Обязательно указать CN перед именем пользователя!
ViktoriyaB вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не удается обработать запрос MySQL Luca Brasi PHP 2 04.02.2015 00:57
Не получается выполнить ajax запрос barfly JavaScript, Ajax 5 09.08.2012 06:37
Не удается выполнить команды сопроцессора! VintProg Общие вопросы Delphi 1 21.09.2011 21:38
Не получается выполнить запрос artemavd БД в Delphi 14 06.08.2009 20:44


16:59.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru