Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос к MS Exchange / 5 сообщений из 5, страница 1 из 1
28.12.2000, 12:12
    #32001364
Sergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к MS Exchange
Здравствуйте.

Кто-нибудь пробовал обращаться к MS Exchange с помощью запросов? Откликнитесь.

Собствено, задача достаточно проста: получить информацию о пользователях адресной книги из MS Exchange. Использую вот такой запрос:

-------------
use master
go

exec sp_addlinkedserver 'ADSI', 'Active Directory Service Interfaces', 'ADSDSOObject', 'adsdatasource'
go

sp_addlinkedsrvlogin 'ADSI', 'false', NULL, NULL, NULL
go

SELECT * FROM OpenQuery(ADSI, '<LDAP://my_mailserv.my_dom1.my_dom2.Ru/O=my_org>;
(&(objectCategory=Person)(objectClass=User));adspath;subtree')
go
-------------

(Для простоты в этом запросе я показываю только ADsPath, но можно получить практически ВСЕ.)

И вот что я получаю:
-------------
Server added.
Server: Msg 7323, Level 16, State 2, Line 2
An error occurred while submitting the query text to OLE DB provider 'ADSDSOObject'.
-------------


И где здесь собака порылась?

Что интересно, подобная конструкция, написанная на VBasic'е очень неплохо работает:

-------------
Set Conn = CreateObject("ADODB.Connection")
Set Comm = CreateObject("ADODB.Command")
Conn.Provider = "ADsDSOObject"
Conn.Open "Active Directory Provider"
Set Comm.ActiveConnection = Conn
adDomainPath = "LDAP://my_mailserv.my_dom1.my_dom2.Ru/O=my_org"
Comm.CommandText = "select ADsPath from '" & adDomainPath & "' where objectClass='organizationalPerson'"
Comm.Properties("searchscope") = ADS_SCOPE_SUBTREE
Set rs_EXCH = Comm.Execute
-------------

Может есть у кого есть какие идеи?

С уважением,
Сергей.

ЗЫ: Если не трудно, ответ повторите на: fill747@mail.ru
...
Рейтинг: 0 / 0
08.01.2001, 16:13
    #32001449
Дед Маздай
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к MS Exchange
Cергей, давайте временно оставим в покое Exchange. Мне не очень нравится путь LDAP://my_mailserv.my_dom1.my_dom2.Ru. Перепишем его как DC=my_dom1,DC=my_dom2, ... Попробуйте запрос просто по AD, что-нибудь типа:
SELECT * FROM OpenQuery(ADSI,'<LDAP://CN=Users,DC=MyDomain,DC=tst>;(&(objectCategory=*)(objectClass=*));name,manager,adspath;subtree')
Кстати, вот как можно посмотреть все SQL Serverы домена, зарегистрированные в AD:
SELECT * FROM OpenQuery(ADSI,'<LDAP://dc=leshikdemo,dc=tst>;(objectClass=MS-SQL-SQLServer);cn,ADsPath,mS-SQL-Clustered,mS-SQL-Build;SubTree')
Проверьте, хватает ли у SQL Serverного логина прав на доступ к Exchange.
...
Рейтинг: 0 / 0
09.01.2001, 17:43
    #32001460
Sergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к MS Exchange
Спасибо, проблема решена.
Дело было в том, что на Exchange Server'е в properties LDAP-протокола стояло "Выводить не более 100 строк"

Сейчас все работает. Так что, если есть какие вопросы - милости прошу.

С уважением,
Сергей.
...
Рейтинг: 0 / 0
09.01.2001, 18:36
    #32001463
Дед Маздай
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к MS Exchange
И что? Не понял. Первоначально он вообще отказывался выполняться или выводил только первые 100 юзеров?
...
Рейтинг: 0 / 0
10.01.2001, 18:04
    #32001483
Sergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос к MS Exchange
Отказывался напрочь, возвращая какую-то "неявную" ошибку - ту самую, которую я описал - или еще одну, не помню точно ee номер (IMHO Msg. 7330). Да, и еще: в NT'ом Event Log'е на сервере выскакивала ошибка с просьбой обратиться в MS.

А обнаружилось все так: я послал зарос на свой тестовый сервер (там в Exchange 10-15 тестовых пользователей) и получил вполне достойный :о) результат запроса. Ну а дальше - все просто: админов за хобот, и - вперед и прямо... ;о)

А вообще-то я понял, с ADSI можно наворотить весь много. И в Exchange, и в NT, и в NDS, и в IIS и etc. Но это отдельная история.

С уважением,
Сергей.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос к MS Exchange / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]