|
Запрос к MS Exchange
|
|||
---|---|---|---|
#18+
Здравствуйте. Кто-нибудь пробовал обращаться к 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2000, 12:12 |
|
Запрос к MS Exchange
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2001, 16:13 |
|
Запрос к MS Exchange
|
|||
---|---|---|---|
#18+
Спасибо, проблема решена. Дело было в том, что на Exchange Server'е в properties LDAP-протокола стояло "Выводить не более 100 строк" Сейчас все работает. Так что, если есть какие вопросы - милости прошу. С уважением, Сергей. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2001, 17:43 |
|
Запрос к MS Exchange
|
|||
---|---|---|---|
#18+
И что? Не понял. Первоначально он вообще отказывался выполняться или выводил только первые 100 юзеров? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2001, 18:36 |
|
Запрос к MS Exchange
|
|||
---|---|---|---|
#18+
Отказывался напрочь, возвращая какую-то "неявную" ошибку - ту самую, которую я описал - или еще одну, не помню точно ee номер (IMHO Msg. 7330). Да, и еще: в NT'ом Event Log'е на сервере выскакивала ошибка с просьбой обратиться в MS. А обнаружилось все так: я послал зарос на свой тестовый сервер (там в Exchange 10-15 тестовых пользователей) и получил вполне достойный :о) результат запроса. Ну а дальше - все просто: админов за хобот, и - вперед и прямо... ;о) А вообще-то я понял, с ADSI можно наворотить весь много. И в Exchange, и в NT, и в NDS, и в IIS и etc. Но это отдельная история. С уважением, Сергей. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2001, 18:04 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1827489]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 278ms |
total: | 433ms |
0 / 0 |